本文整理汇总了Java中com.sun.tools.internal.xjc.reader.gbind.ConnectedComponent类的典型用法代码示例。如果您正苦于以下问题:Java ConnectedComponent类的具体用法?Java ConnectedComponent怎么用?Java ConnectedComponent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ConnectedComponent类属于com.sun.tools.internal.xjc.reader.gbind包,在下文中一共展示了ConnectedComponent类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: findSourceParticle
import com.sun.tools.internal.xjc.reader.gbind.ConnectedComponent; //导入依赖的package包/类
/**
* Finds a {@link XSParticle} that can serve as the representative property of
* the given {@link ConnectedComponent}.
*
* The representative property is used for reporting an error location and
* taking {@link BIProperty} customization. Right now, the algorithm is just pick
* the first one with {@link BIProperty}, but one can think of a better algorithm,
* such as taking a choice of (A|B) if CC={A,B}.
*/
private XSParticle findSourceParticle(ConnectedComponent cc) {
XSParticle first = null;
for (Element e : cc) {
GElement ge = (GElement)e;
for (XSParticle p : ge.particles) {
if(first==null)
first = p;
if(getLocalPropCustomization(p)!=null)
return p;
}
// if there are multiple property customizations,
// all but one will be left unused, which will be detected as an error
// later, so no need to check that now.
}
// if no customization was found, just use the first one.
return first;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:29,代码来源:ExpressionParticleBinder.java
示例2: build
import com.sun.tools.internal.xjc.reader.gbind.ConnectedComponent; //导入依赖的package包/类
public void build(XSParticle p, Collection<XSParticle> forcedProps) {
// this class isn't about spec conformance, but
// for the ease of use.
// so we don't give a damn about 'forcedProps'.
// although, for a future note, it's conceivable to expand
// the binding algorithm to cover this notion.
Expression tree = ExpressionBuilder.createTree(p);
Graph g = new Graph(tree);
for (ConnectedComponent cc : g) {
buildProperty(cc);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:14,代码来源:ExpressionParticleBinder.java
示例3: buildProperty
import com.sun.tools.internal.xjc.reader.gbind.ConnectedComponent; //导入依赖的package包/类
/**
* Builds a property ouf ot a connected component.
*/
private void buildProperty(ConnectedComponent cc) {
StringBuilder propName = new StringBuilder(); // property name
int nameTokenCount = 0; // combine only up to 3
RawTypeSetBuilder rtsb = new RawTypeSetBuilder();
for (Element e : cc) {
GElement ge = (GElement)e;
if(nameTokenCount<3) {
if(nameTokenCount!=0)
propName.append("And");
propName.append(makeJavaName(cc.isCollection(),ge.getPropertyNameSeed()));
nameTokenCount++;
}
if(e instanceof GElementImpl) {
GElementImpl ei = (GElementImpl) e;
rtsb.elementDecl(ei.decl);
continue;
}
if(e instanceof GWildcardElement) {
GWildcardElement w = (GWildcardElement)e;
rtsb.getRefs().add(new RawTypeSetBuilder.WildcardRef(
w.isStrict() ? WildcardMode.STRICT : WildcardMode.SKIP));
continue;
}
assert false : e; // no other kind should be here
}
Multiplicity m = Multiplicity.ONE;
if(cc.isCollection())
m = m.makeRepeated();
if(!cc.isRequired())
m = m.makeOptional();
RawTypeSet rts = new RawTypeSet(rtsb.getRefs(),m);
XSParticle p = findSourceParticle(cc);
BIProperty cust = BIProperty.getCustomization(p);
CPropertyInfo prop = cust.createElementOrReferenceProperty(
propName.toString(), false, p, rts );
getCurrentBean().addProperty(prop);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:48,代码来源:ExpressionParticleBinder.java
注:本文中的com.sun.tools.internal.xjc.reader.gbind.ConnectedComponent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论