Class Property

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class Property
    extends java.lang.Object
    implements java.lang.Cloneable
    INTERNAL:

    Purpose:To store information about a property on a class during JAXB 2.0 Generation

    Responsibilities:

    • Store information about the java property such as property name, if it's a method or field, and it's type.
    • Store some schema-specific information such as the schema name, the schema type, and mimeType
    • Store some JAXB 2.0 Runtime specific information such as JAXB 2.0 Adapter classes

    This class is used to store information about a property on a JAXB 2.0 annotated class. It is created by the AnnotationsProcessor during pre-processing and stored on a TypeInfo object

    See Also:
    TypeInfo, AnnotationsProcessor
    Author:
    mmacivor
    • Field Detail

      • DEFAULT_KEY_NAME

        public static final java.lang.String DEFAULT_KEY_NAME
        See Also:
        Constant Field Values
      • DEFAULT_VALUE_NAME

        public static final java.lang.String DEFAULT_VALUE_NAME
        See Also:
        Constant Field Values
    • Constructor Detail

      • Property

        public Property()
      • Property

        public Property​(Helper helper)
    • Method Detail

      • setHelper

        public void setHelper​(Helper helper)
      • setAdapterClass

        public void setAdapterClass​(JavaClass adapterCls)
        Set an XmlAdapter on this Property. The type, generic type and original type will be set as required based on the XmlAdapter's marshal method return type and input parameters.
        Parameters:
        adapterCls -
      • getPropertyName

        public java.lang.String getPropertyName()
      • setPropertyName

        public void setPropertyName​(java.lang.String propertyName)
      • getSchemaName

        public javax.xml.namespace.QName getSchemaName()
      • setSchemaName

        public void setSchemaName​(javax.xml.namespace.QName schemaName)
      • isMethodProperty

        public boolean isMethodProperty()
      • setMethodProperty

        public void setMethodProperty​(boolean isMethod)
      • setType

        public void setType​(JavaClass cls)
      • getGenericType

        public JavaClass getGenericType()
      • setGenericType

        public void setGenericType​(JavaClass genericType)
      • getSchemaType

        public javax.xml.namespace.QName getSchemaType()
      • setSchemaType

        public void setSchemaType​(javax.xml.namespace.QName type)
      • isSwaAttachmentRef

        public boolean isSwaAttachmentRef()
      • setIsSwaAttachmentRef

        public void setIsSwaAttachmentRef​(boolean b)
      • isMtomAttachment

        public boolean isMtomAttachment()
      • setIsMtomAttachment

        public void setIsMtomAttachment​(boolean b)
      • isInlineBinaryData

        public boolean isInlineBinaryData()
        Indicates if XOP encoding should be disabled for datatypes that are bound to base64-encoded binary data in XML.
        Returns:
        true if XOP encoding should be disabled for datatypes that are bound to base64-encoded binary data in XML; false if not
      • setisInlineBinaryData

        public void setisInlineBinaryData​(boolean b)
        Sets the flag that indicates if XOP encoding should be disabled for datatypes that are bound to base64-encoded binary data in XML.
        Parameters:
        b - if true, XOP encoding will be disabled for datatypes that are bound to base64-encoded binary data in XML.
      • isRequired

        public boolean isRequired()
      • isTransientType

        public boolean isTransientType()
      • setTransientType

        public void setTransientType​(boolean isTransientType)
      • setIsRequired

        public void setIsRequired​(boolean b)
      • getMimeType

        public java.lang.String getMimeType()
      • setMimeType

        public void setMimeType​(java.lang.String mType)
      • isAttribute

        public boolean isAttribute()
      • isAnyAttribute

        public boolean isAnyAttribute()
      • setIsAttribute

        public void setIsAttribute​(boolean attribute)
      • setIsAnyAttribute

        public void setIsAnyAttribute​(boolean anyAtribute)
      • getGetMethodName

        public java.lang.String getGetMethodName()
      • setGetMethodName

        public void setGetMethodName​(java.lang.String methodName)
      • getSetMethodName

        public java.lang.String getSetMethodName()
      • setSetMethodName

        public void setSetMethodName​(java.lang.String methodName)
      • getOriginalGetMethodName

        public java.lang.String getOriginalGetMethodName()
      • setOriginalGetMethodName

        public void setOriginalGetMethodName​(java.lang.String methodName)
      • getOriginalSetMethodName

        public java.lang.String getOriginalSetMethodName()
      • setOriginalSetMethodName

        public void setOriginalSetMethodName​(java.lang.String methodName)
      • isChoice

        public boolean isChoice()
        Indicates if this property represents a choice property.
        Returns:
      • setChoice

        public void setChoice​(boolean choice)
        Set flag to indicate whether this property represents a choice property.
        Parameters:
        choice -
      • isAny

        public boolean isAny()
        Returns indicator for XmlAnyElement
        Returns:
      • setIsAny

        public void setIsAny​(boolean isAnyElement)
        Set indicator for XmlAnyElement.
        Parameters:
        isAnyElement -
      • isReference

        public boolean isReference()
        Indicates if this Property is a reference property.
        Returns:
      • setIsReference

        public void setIsReference​(boolean isReference)
        Set flag to indicate whether this property represents a reference property.
        Parameters:
        isReference -
      • isNillable

        public boolean isNillable()
      • setNillable

        public void setNillable​(boolean isNillable)
      • isTransient

        public boolean isTransient()
      • setTransient

        public void setTransient​(boolean isTransient)
      • setDefaultValue

        public void setDefaultValue​(java.lang.String defaultValue)
        Parameters:
        defaultValue - the defaultValue to set
      • getDefaultValue

        public java.lang.String getDefaultValue()
        Returns:
        the defaultValue
      • isSetDefaultValue

        public boolean isSetDefaultValue()
        Returns:
        the isSetDefaultValue
      • isMixedContent

        public boolean isMixedContent()
      • setMixedContent

        public void setMixedContent​(boolean b)
      • setHasXmlElementType

        public void setHasXmlElementType​(boolean hasXmlElementType)
      • isXmlElementType

        public boolean isXmlElementType()
      • getActualType

        public JavaClass getActualType()
        Return the generic type if it was set (collection or array item type) otherwise return the type of this property
        Returns:
      • getOriginalType

        public JavaClass getOriginalType()
        Get the original type of the property. This is typically used when the type has been changed via @XmlElement annotation and the original type is desired.
        Returns:
      • setOriginalType

        public void setOriginalType​(JavaClass type)
        Set the original type of the property. This is typically used when the type will been changed via @XmlElement annotation and the original type may be needed.
      • isSetXmlJavaTypeAdapter

        public boolean isSetXmlJavaTypeAdapter()
        Indicates if an XmlJavaTypeAdapter has been set, i.e. the xmlJavaTypeAdapter property is non-null.
        Returns:
        true if xmlJavaTypeAdapter is non-null, false otherwise
        See Also:
        XmlJavaTypeAdapter
      • getXmlJavaTypeAdapter

        public XmlJavaTypeAdapter getXmlJavaTypeAdapter()
        Return the xmlJavaTypeAdapter set on this Property.
        Returns:
        xmlJavaTypeAdapter, or null if not set
        See Also:
        XmlJavaTypeAdapter
      • setXmlJavaTypeAdapter

        public void setXmlJavaTypeAdapter​(XmlJavaTypeAdapter xmlJavaTypeAdapter)
        Set an XmlJavaTypeAdapter on this Property. This call sets the adapterClass property to the given adapter's value.
        Parameters:
        xmlJavaTypeAdapter -
        See Also:
        XmlJavaTypeAdapter
      • isSetXmlElementWrapper

        public boolean isSetXmlElementWrapper()
        Indicates if an XmlElementWrapper has been set, i.e. the xmlElementWrapper property is non-null.
        Returns:
        true if xmlElementWrapper is non-null, false otherwise
      • getXmlElementWrapper

        public XmlElementWrapper getXmlElementWrapper()
        Return the XmlElementWrapper set on this property.
        Returns:
        XmlElementWrapper instance if non-null, null otherwise
      • setXmlElementWrapper

        public void setXmlElementWrapper​(XmlElementWrapper xmlElementWrapper)
        Set the XmlElementWrapper for this property.
        Parameters:
        xmlElementWrapper -
      • setIsXmlValue

        public void setIsXmlValue​(boolean isXmlValue)
        Set the isXmlValue property.
        Parameters:
        isXmlValue -
      • isXmlValue

        public boolean isXmlValue()
        Indicates if this property is an XmlValue.
        Returns:
      • setIsXmlValueExtension

        public void setIsXmlValueExtension​(boolean isXmlValueExtension)
        Set the isXmlValueExtension property.
        Parameters:
        isXmlValueExtension -
      • isXmlValueExtension

        public boolean isXmlValueExtension()
        Indicates if this property is an XmlValueExtension.
        Returns:
      • setIsXmlList

        public void setIsXmlList​(boolean isXmlList)
        Set the isXmlList property.
        Parameters:
        isXmlList -
      • isXmlList

        public boolean isXmlList()
        Indicates if this property is an XmlList.
        Returns:
      • getInverseReferencePropertyName

        public java.lang.String getInverseReferencePropertyName()
      • setInverseReferencePropertyName

        public void setInverseReferencePropertyName​(java.lang.String name)
      • getInverseReferencePropertyGetMethodName

        public java.lang.String getInverseReferencePropertyGetMethodName()
      • getInverseReferencePropertySetMethodName

        public java.lang.String getInverseReferencePropertySetMethodName()
      • setInverseReferencePropertyGetMethodName

        public void setInverseReferencePropertyGetMethodName​(java.lang.String methodName)
      • setInverseReferencePropertySetMethodName

        public void setInverseReferencePropertySetMethodName​(java.lang.String methodName)
      • getInverseReferencePropertyContainerClass

        public JavaClass getInverseReferencePropertyContainerClass()
      • setInverseReferencePropertyContainerClass

        public void setInverseReferencePropertyContainerClass​(JavaClass cls)
      • isXmlId

        public boolean isXmlId()
        Indicates if this property is an ID field.
        Returns:
      • setIsXmlId

        public void setIsXmlId​(boolean isXmlId)
        Sets the indicator that identifies this property as an ID field.
        Parameters:
        isXmlId -
      • isXmlIdExtension

        public boolean isXmlIdExtension()
        Indicates if this property is an ID extension field.
        Returns:
      • setIsXmlIdExtension

        public void setIsXmlIdExtension​(boolean isXmlIdExtension)
        Sets the indicator that identifies this property as an ID extension field.
        Parameters:
        isXmlIdExtension -
      • isXmlIdRef

        public boolean isXmlIdRef()
        Indicates if this property is a reference to an ID field.
        Returns:
      • setIsXmlIdRef

        public void setIsXmlIdRef​(boolean isXmlIdRef)
        Sets the indicator that identifies this property as a reference to an ID field.
        Parameters:
        isXmlIdRef -
      • isLax

        public boolean isLax()
        Used with XmlAnyElement.
        Returns:
      • setLax

        public void setLax​(boolean b)
        Used with XmlAnyElement.
        Parameters:
        b -
      • getDomHandlerClassName

        public java.lang.String getDomHandlerClassName()
        Return the DomHandler class name. Used with XmlAnyElement.
        Returns:
      • setDomHandlerClassName

        public void setDomHandlerClassName​(java.lang.String domHandlerClassName)
        Set the DomHandler class name. Used with XmlAnyElement.
        Parameters:
        domHandlerClassName -
      • setKeyType

        public void setKeyType​(JavaClass keyType)
      • getValueType

        public JavaClass getValueType()
      • getActualValueType

        public JavaClass getActualValueType()
        Return the generic type if it was set (collection or array item type) otherwise return the type of this property
        Returns:
      • setValueType

        public void setValueType​(JavaClass valueType)
      • getValueGenericType

        public JavaClass getValueGenericType()
      • setValueGenericType

        public void setValueGenericType​(JavaClass valueGenericType)
      • isMap

        public boolean isMap()
      • isInverseReference

        public boolean isInverseReference()
      • setInverseReference

        public void setInverseReference​(boolean isInverseReference,
                                        boolean isWriteable)
      • isWriteableInverseReference

        public boolean isWriteableInverseReference()
      • getXmlElements

        public XmlElements getXmlElements()
        Return the XmlElements object set for this Property. Typically this will only be set if we are dealing with a 'choice'.
        Returns:
      • setXmlElements

        public void setXmlElements​(XmlElements xmlElements)
        Set the XmlElements object for this Property. Typically this will only be set if we are dealing with a 'choice'.
        Parameters:
        xmlElements -
      • getChoiceProperties

        public java.util.Collection<Property> getChoiceProperties()
        Return the choice properties set on this property. Typically this will only contain properties if we are dealing with a 'choice'.
        Returns:
      • setChoiceProperties

        public void setChoiceProperties​(java.util.Collection<Property> properties)
        Set the choice properties for this property. Typically this will only contain properties if we are dealing with a 'choice'.
        Parameters:
        properties -
      • getXmlElementRefs

        public java.util.List<XmlElementRef> getXmlElementRefs()
        Return the List of XmlElementRef(s) for this Property.
        Returns:
      • setXmlElementRefs

        public void setXmlElementRefs​(java.util.List<XmlElementRef> xmlElementRefs)
        Set the List of XmlElementRef(s) for this Property.
        Parameters:
        xmlElementRefs -
      • addReferencedElement

        public void addReferencedElement​(ElementDeclaration element)
        Add an ElementDeclaration to the list of referenced elements. Typically this will only contain ElementDeclarations if we are dealing with a 'reference'.
        Parameters:
        element -
      • getReferencedElements

        public java.util.List<ElementDeclaration> getReferencedElements()
        Return the list of referenced elements. Typically this will only contain ElementDeclarations if we are dealing with a 'reference'.
        Returns:
      • getFixedValue

        public java.lang.String getFixedValue()
      • setFixedValue

        public void setFixedValue​(java.lang.String fixedValue)
      • isPositional

        public boolean isPositional()
        Indicates if this property is mapped by position, i.e. 'name="data[1]"', or is mapped by attribute value (predicate mapping), i.e. 'personal-info[@pi-type='last-name']/name[@name-type='surname']/text()'
      • setReadOnly

        public void setReadOnly​(boolean isReadOnly)
        Flag the mapping for this Property as read-only.
        Parameters:
        isReadOnly - the true/false value to set
      • isReadOnly

        public boolean isReadOnly()
        Indicates if the mapping for this Property is read-only.
        Returns:
        true if read-only, false if not
      • isSetReadOnly

        public boolean isSetReadOnly()
        Indicates if the isReadOnly flag was set via external metadata.
        Returns:
      • setWriteOnly

        public void setWriteOnly​(boolean isWriteOnly)
        Flag the mapping for this Property as write-only.
        Parameters:
        isWriteOnly - the true/false value to set
      • isWriteOnly

        public boolean isWriteOnly()
        Returns:
        true if write-only, false if not
      • isSetWriteOnly

        public boolean isSetWriteOnly()
        Indicates if the isWriteOnly flag was set via external metadata.
        Returns:
      • setCdata

        public void setCdata​(boolean isCdata)
        Flag the mapping for this Property as containing character data.
        Parameters:
        isCdata - the true/false value to set
      • isCdata

        public boolean isCdata()
        Returns:
        true if character data, false if not
      • isSetCdata

        public boolean isSetCdata()
        Indicates if the isCdata flag was set via external metadata.
        Returns:
      • getXmlPath

        public java.lang.String getXmlPath()
        Return the xpath for this property.
        Returns:
      • setXmlPath

        public void setXmlPath​(java.lang.String xmlPath)
        Set the xpath for this property.
        Parameters:
        xmlPath -
      • isSetXmlPath

        public boolean isSetXmlPath()
        Indicates if an xpath is set for this property.
        Returns:
      • getNullPolicy

        public XmlAbstractNullPolicy getNullPolicy()
        Returns the null policy for this property.
        Returns:
        null policy or null if not set
      • setNullPolicy

        public void setNullPolicy​(XmlAbstractNullPolicy nullPolicy)
        Set the null policy for this property.
        Parameters:
        nullPolicy -
      • isSetNullPolicy

        public boolean isSetNullPolicy()
        Indicates if a null policy is set for this property.
        Returns:
      • shouldSetNillable

        public boolean shouldSetNillable()
        Indicates if nillable='true' should be set on a given schema component. This will typically be called by SchemaGenerator. The value returned will be true if one of the following is true: - isNillable - isSetNullPolicy && xsi-nil-represents-null == 'true' - isSetNullPolicy && null-representation-for-xml == 'XSI_NIL'
        Returns:
      • getUserProperties

        public java.util.Map<java.lang.Object,​java.lang.Object> getUserProperties()
        Return the Map of user-defined properties.
        Returns:
      • setUserProperties

        public void setUserProperties​(java.util.Map<java.lang.Object,​java.lang.Object> userProperties)
        Set the Map of user-defined properties.
        Parameters:
        userProperties -
      • isSetUserProperties

        public boolean isSetUserProperties()
        Indicates if a map of userProperties is set for this property.
        Returns:
        true if the userProperties property has been set, i.e. is non-null, otherwise false
      • getXmlTransformation

        public XmlTransformation getXmlTransformation()
        Return the XmlTransformation set on this property.
        Returns:
        the XmlTransformation set on this property, or null if one has not been set.
      • setXmlTransformation

        public void setXmlTransformation​(XmlTransformation xmlTransformation)
        Set the XmlTransformation for this property. The info contained in the XmlTransformation will be used to construct an XmlTransformationMapping.
        Parameters:
        xmlTransformation -
      • isSetXmlTransformation

        public boolean isSetXmlTransformation()
        Indicates if an XmlTransformation is set for this porperty.
        Returns:
        true if the xmlTransformation property has been set, i.e. is non-null, otherwise false
      • isXmlTransformation

        public boolean isXmlTransformation()
        Indicates if this property represents an XmlTransformation.
        Returns:
        value of isXmlTransformation property
      • setIsXmlTransformation

        public void setIsXmlTransformation​(boolean isXmlTransformation)
        Set flag that indicates if this property represents an XmlTransformation.
        Parameters:
        isXmlTransformation -
      • setXmlJoinNodes

        public void setXmlJoinNodes​(XmlJoinNodes xmlJoinNodes)
        Set XmlJoinNodes for this property.
        Parameters:
        xmlJoinNodes - the xmlJoinNodes to set
      • getXmlJoinNodes

        public XmlJoinNodes getXmlJoinNodes()
        Return the XmlJoinNodes for this property.
        Returns:
        the xmlJoinNodes
      • isSetXmlJoinNodes

        public boolean isSetXmlJoinNodes()
        Indicates if this property has XmlJoinNodes set. return true if xmlJoinNodes is non-null, otherwise false
      • clone

        public java.lang.Object clone()
        Return a shallow copy of this Property. Simply calls super.clone().
        Overrides:
        clone in class java.lang.Object
      • getXmlJoinNodesList

        public java.util.List<XmlJoinNodes> getXmlJoinNodesList()
        Return the list of XmlJoinNodes for this Property, if any. This will typically be set when processing an XmlElements declaration containing XmlJoinNodes.
      • setXmlJoinNodesList

        public void setXmlJoinNodesList​(java.util.List<XmlJoinNodes> xmlJoinNodesList)
        Set the list of XmlJoinNodes for this Property. This method will typically be called when processing an XmlElements declaration containing XmlJoinNodes.
      • isSetXmlJoinNodesList

        public boolean isSetXmlJoinNodesList()
        Indicates if xmlJoinNodesList has been set, i.e. is non-null
        Returns:
        true if xmlJoinNodesList is non-null, false otherwise
      • isVirtual

        public boolean isVirtual()
      • setExtension

        public void setExtension​(boolean value)
      • isXmlLocation

        public boolean isXmlLocation()
      • setXmlLocation

        public void setXmlLocation​(boolean isXmlLocation)
      • isSuperClassProperty

        public boolean isSuperClassProperty()
      • setIsSuperClassProperty

        public void setIsSuperClassProperty​(boolean b)
      • getVariableAttributeName

        public java.lang.String getVariableAttributeName()
      • setVariableAttributeName

        public void setVariableAttributeName​(java.lang.String variableAttributeName)
      • getVariableClassName

        public java.lang.String getVariableClassName()
      • setVariableClassName

        public void setVariableClassName​(java.lang.String variableClassName)
      • isVariableNodeAttribute

        public boolean isVariableNodeAttribute()
      • setVariableNodeAttribute

        public void setVariableNodeAttribute​(boolean variableNodeAttribute)
      • isTyped

        public boolean isTyped()
      • setTyped

        public void setTyped​(boolean isTyped)
      • getFacets

        public java.util.List<Facet> getFacets()
      • addFacet

        public void addFacet​(Facet facet)
      • setMinOccurs

        public void setMinOccurs​(int minOccurs)
      • getMinOccurs

        public java.lang.Integer getMinOccurs()
      • setMaxOccurs

        public void setMaxOccurs​(int maxOccurs)
      • getMaxOccurs

        public java.lang.Integer getMaxOccurs()
      • setNotNullAnnotated

        public void setNotNullAnnotated​(boolean notNullAnnotated)
      • isNotNullAnnotated

        public boolean isNotNullAnnotated()