Class CElementPropertyInfo

  • All Implemented Interfaces:
    CCustomizable, org.glassfish.jaxb.core.v2.model.annotation.AnnotationSource, org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>, org.glassfish.jaxb.core.v2.model.core.PropertyInfo<NType,​NClass>

    public final class CElementPropertyInfo
    extends CPropertyInfo
    implements org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
    ElementPropertyInfo for the compiler.
    Author:
    Kohsuke Kawaguchi
    • Method Detail

      • id

        public org.glassfish.jaxb.core.v2.model.core.ID id()
        Specified by:
        id in interface org.glassfish.jaxb.core.v2.model.core.PropertyInfo<NType,​NClass>
      • getTypes

        public List<CTypeRef> getTypes()
        Specified by:
        getTypes in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
      • getSchemaType

        public QName getSchemaType()
        Specified by:
        getSchemaType in interface org.glassfish.jaxb.core.v2.model.core.PropertyInfo<NType,​NClass>
      • getXmlName

        @Deprecated
        public QName getXmlName()
        Deprecated.
        XJC never uses the wrapper element. Always return null.
        Specified by:
        getXmlName in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
      • isCollectionRequired

        public boolean isCollectionRequired()
        Specified by:
        isCollectionRequired in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
      • isCollectionNillable

        public boolean isCollectionNillable()
        Specified by:
        isCollectionNillable in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
      • isRequired

        public boolean isRequired()
        Specified by:
        isRequired in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
      • isValueList

        public boolean isValueList()
        Specified by:
        isValueList in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
      • isUnboxable

        public boolean isUnboxable()
        Description copied from class: CPropertyInfo
        Returns true if this property is "unboxable".

        In general, a property often has to be capable of representing null to indicate the absence of the value. This requires properties to be generated as @XmlElement Float f, not as @XmlElement float f;. But this is slow.

        Fortunately, there are cases where we know that the property can never legally be absent. When this condition holds we can generate the optimized "unboxed form".

        The exact such conditions depend on the kind of properties, so refer to the implementation code for the details.

        This method returns true when the property can be generated as "unboxed form", false otherwise.

        When this property is a collection, this method returns true if items in the collection is unboxable. Obviously, the collection itself is always a reference type.

        Overrides:
        isUnboxable in class CPropertyInfo
      • isOptionalPrimitive

        public boolean isOptionalPrimitive()
        Description copied from class: CPropertyInfo
        Returns true if this property needs to represent null just for the purpose of representing an absence of the property.
        Overrides:
        isOptionalPrimitive in class CPropertyInfo
      • getAdapter

        public CAdapter getAdapter()
        Specified by:
        getAdapter in interface org.glassfish.jaxb.core.v2.model.core.ElementPropertyInfo<NType,​NClass>
        Specified by:
        getAdapter in interface org.glassfish.jaxb.core.v2.model.core.PropertyInfo<NType,​NClass>
        Specified by:
        getAdapter in class CPropertyInfo
      • setAdapter

        public void setAdapter​(CAdapter a)
      • kind

        public final org.glassfish.jaxb.core.v2.model.core.PropertyKind kind()
        Specified by:
        kind in interface org.glassfish.jaxb.core.v2.model.core.PropertyInfo<NType,​NClass>
      • getExpectedMimeType

        public jakarta.activation.MimeType getExpectedMimeType()
        Specified by:
        getExpectedMimeType in interface org.glassfish.jaxb.core.v2.model.core.PropertyInfo<NType,​NClass>
      • collectElementNames

        public QName collectElementNames​(Map<QName,​CPropertyInfo> table)
        Description copied from class: CPropertyInfo
        Puts the element names that this property possesses to the map, so that we can find two properties that own the same element name, which is an error.
        Overrides:
        collectElementNames in class CPropertyInfo
        Returns:
        null if no conflict was found. Otherwise return the QName that has the collision.