当前位置: 首页>>代码示例>>Java>>正文


Java ConnectedComponent类代码示例

本文整理汇总了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;未经允许,请勿转载。