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


Java RuntimeClassInfo.isElement方法代码示例

本文整理汇总了Java中com.sun.xml.internal.bind.v2.model.runtime.RuntimeClassInfo.isElement方法的典型用法代码示例。如果您正苦于以下问题:Java RuntimeClassInfo.isElement方法的具体用法?Java RuntimeClassInfo.isElement怎么用?Java RuntimeClassInfo.isElement使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.xml.internal.bind.v2.model.runtime.RuntimeClassInfo的用法示例。


在下文中一共展示了RuntimeClassInfo.isElement方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createSchemaGenerator

import com.sun.xml.internal.bind.v2.model.runtime.RuntimeClassInfo; //导入方法依赖的package包/类
private XmlSchemaGenerator<Type,Class,Field,Method> createSchemaGenerator() {
    RuntimeTypeInfoSet tis;
    try {
        tis = getTypeInfoSet();
    } catch (IllegalAnnotationsException e) {
        // this shouldn't happen because we've already
        throw new AssertionError(e);
    }

    XmlSchemaGenerator<Type,Class,Field,Method> xsdgen =
            new XmlSchemaGenerator<Type,Class,Field,Method>(tis.getNavigator(),tis);

    // JAX-RPC uses Bridge objects that collide with
    // @XmlRootElement.
    // we will avoid collision here
    Set<QName> rootTagNames = new HashSet<QName>();
    for (RuntimeElementInfo ei : tis.getAllElements()) {
        rootTagNames.add(ei.getElementName());
    }
    for (RuntimeClassInfo ci : tis.beans().values()) {
        if(ci.isElement())
            rootTagNames.add(ci.asElement().getElementName());
    }

    for (TypeReference tr : bridges.keySet()) {
        if(rootTagNames.contains(tr.tagName))
            continue;

        if(tr.type==void.class || tr.type==Void.class) {
            xsdgen.add(tr.tagName,false,null);
        } else
        if(tr.type==CompositeStructure.class) {
            // this is a special class we introduced for JAX-WS that we *don't* want in the schema
        } else {
            NonElement<Type,Class> typeInfo = getXmlType(tis,tr);
            xsdgen.add(tr.tagName, !tis.getNavigator().isPrimitive(tr.type),typeInfo);
        }
    }
    return xsdgen;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:JAXBContextImpl.java

示例2: createSchemaGenerator

import com.sun.xml.internal.bind.v2.model.runtime.RuntimeClassInfo; //导入方法依赖的package包/类
private XmlSchemaGenerator<Type,Class,Field,Method> createSchemaGenerator() {
    RuntimeTypeInfoSet tis;
    try {
        tis = getTypeInfoSet();
    } catch (IllegalAnnotationsException e) {
        // this shouldn't happen because we've already
        throw new AssertionError(e);
    }

    XmlSchemaGenerator<Type,Class,Field,Method> xsdgen =
            new XmlSchemaGenerator<Type,Class,Field,Method>(tis.getNavigator(),tis);

    // JAX-RPC uses Bridge objects that collide with
    // @XmlRootElement.
    // we will avoid collision here
    Set<QName> rootTagNames = new HashSet<QName>();
    for (RuntimeElementInfo ei : tis.getAllElements()) {
        rootTagNames.add(ei.getElementName());
    }
    for (RuntimeClassInfo ci : tis.beans().values()) {
        if(ci.isElement())
            rootTagNames.add(ci.asElement().getElementName());
    }

    for (TypeReference tr : bridges.keySet()) {
        if(rootTagNames.contains(tr.tagName))
            continue;

        if(tr.type==void.class || tr.type==Void.class) {
            xsdgen.add(tr.tagName,false,null);
        } else
        if(tr.type==CompositeStructure.class) {
            // this is a special class we introduced for JAX-WS that we *don't* want in the schema
        } else {
            NonElement<Type,Class> typeInfo = getXmlType(tis,tr);
            xsdgen.add(tr.tagName, !Navigator.REFLECTION.isPrimitive(tr.type),typeInfo);
        }
    }
    return xsdgen;
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:41,代码来源:JAXBContextImpl.java

示例3: ClassBeanInfoImpl

import com.sun.xml.internal.bind.v2.model.runtime.RuntimeClassInfo; //导入方法依赖的package包/类
ClassBeanInfoImpl(JAXBContextImpl owner, RuntimeClassInfo ci) {
    super(owner,ci,ci.getClazz(),ci.getTypeName(),ci.isElement(),false,true);

    this.ci = ci;
    this.inheritedAttWildcard = ci.getAttributeWildcard();
    this.xducer = ci.getTransducer();
    this.factoryMethod = ci.getFactoryMethod();
    this.retainPropertyInfo = owner.retainPropertyInfo;

    // make the factory accessible
    if(factoryMethod!=null) {
        int classMod = factoryMethod.getDeclaringClass().getModifiers();

        if(!Modifier.isPublic(classMod) || !Modifier.isPublic(factoryMethod.getModifiers())) {
            // attempt to make it work even if the constructor is not accessible
            try {
                factoryMethod.setAccessible(true);
            } catch(SecurityException e) {
                // but if we don't have a permission to do so, work gracefully.
                logger.log(Level.FINE,"Unable to make the method of "+factoryMethod+" accessible",e);
                throw e;
            }
        }
    }


    if(ci.getBaseClass()==null)
        this.superClazz = null;
    else
        this.superClazz = owner.getOrCreate(ci.getBaseClass());

    if(superClazz!=null && superClazz.xmlLocatorField!=null)
        xmlLocatorField = superClazz.xmlLocatorField;
    else
        xmlLocatorField = ci.getLocatorField();

    // create property objects
    Collection<? extends RuntimePropertyInfo> ps = ci.getProperties();
    this.properties = new Property[ps.size()];
    int idx=0;
    boolean elementOnly = true;
    for( RuntimePropertyInfo info : ps ) {
        Property p = PropertyFactory.create(owner,info);
        if(info.id()==ID.ID)
            idProperty = p;
        properties[idx++] = p;
        elementOnly &= info.elementOnlyContent();
        checkOverrideProperties(p);
    }
    // super class' idProperty might not be computed at this point,
    // so check that later

    hasElementOnlyContentModel( elementOnly );
    // again update this value later when we know that of the super class

    if(ci.isElement())
        tagName = owner.nameBuilder.createElementName(ci.getElementName());
    else
        tagName = null;

    setLifecycleFlags();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:63,代码来源:ClassBeanInfoImpl.java


注:本文中的com.sun.xml.internal.bind.v2.model.runtime.RuntimeClassInfo.isElement方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。