Class Property

java.lang.Object
org.eclipse.persistence.jaxb.compiler.Property
All Implemented Interfaces:
Cloneable

public class Property extends Object implements 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:
Author:
mmacivor
  • Field Details

  • Constructor Details

    • Property

      public Property()
    • Property

      public Property(Helper helper)
  • Method Details

    • 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 -
    • getElement

      public JavaHasAnnotations getElement()
    • setElement

      public void setElement(JavaHasAnnotations element)
    • getPropertyName

      public String getPropertyName()
    • setPropertyName

      public void setPropertyName(String propertyName)
    • getSchemaName

      public QName getSchemaName()
    • setSchemaName

      public void setSchemaName(QName schemaName)
    • isMethodProperty

      public boolean isMethodProperty()
    • setMethodProperty

      public void setMethodProperty(boolean isMethod)
    • setType

      public void setType(JavaClass cls)
    • getType

      public JavaClass getType()
    • getGenericType

      public JavaClass getGenericType()
    • setGenericType

      public void setGenericType(JavaClass genericType)
    • getSchemaType

      public QName getSchemaType()
    • setSchemaType

      public void setSchemaType(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 String getMimeType()
    • setMimeType

      public void setMimeType(String mType)
    • isAttribute

      public boolean isAttribute()
    • isAnyAttribute

      public boolean isAnyAttribute()
    • setIsAttribute

      public void setIsAttribute(boolean attribute)
    • setIsAnyAttribute

      public void setIsAnyAttribute(boolean anyAtribute)
    • getGetMethodName

      public String getGetMethodName()
    • setGetMethodName

      public void setGetMethodName(String methodName)
    • getSetMethodName

      public String getSetMethodName()
    • setSetMethodName

      public void setSetMethodName(String methodName)
    • getOriginalGetMethodName

      public String getOriginalGetMethodName()
    • setOriginalGetMethodName

      public void setOriginalGetMethodName(String methodName)
    • getOriginalSetMethodName

      public String getOriginalSetMethodName()
    • setOriginalSetMethodName

      public void setOriginalSetMethodName(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(String defaultValue)
      Parameters:
      defaultValue - the defaultValue to set
    • getDefaultValue

      public 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:
    • getXmlJavaTypeAdapter

      public XmlJavaTypeAdapter getXmlJavaTypeAdapter()
      Return the xmlJavaTypeAdapter set on this Property.
      Returns:
      xmlJavaTypeAdapter, or null if not set
      See Also:
    • 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:
    • 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 String getInverseReferencePropertyName()
    • setInverseReferencePropertyName

      public void setInverseReferencePropertyName(String name)
    • getInverseReferencePropertyGetMethodName

      public String getInverseReferencePropertyGetMethodName()
    • getInverseReferencePropertySetMethodName

      public String getInverseReferencePropertySetMethodName()
    • setInverseReferencePropertyGetMethodName

      public void setInverseReferencePropertyGetMethodName(String methodName)
    • setInverseReferencePropertySetMethodName

      public void setInverseReferencePropertySetMethodName(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 String getDomHandlerClassName()
      Return the DomHandler class name. Used with XmlAnyElement.
      Returns:
    • setDomHandlerClassName

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

      public JavaClass getKeyType()
    • 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 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(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 List<XmlElementRef> getXmlElementRefs()
      Return the List of XmlElementRef(s) for this Property.
      Returns:
    • setXmlElementRefs

      public void setXmlElementRefs(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 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 String getFixedValue()
    • setFixedValue

      public void setFixedValue(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 String getXmlPath()
      Return the xpath for this property.
      Returns:
    • setXmlPath

      public void setXmlPath(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 Map<Object,Object> getUserProperties()
      Return the Map of user-defined properties.
      Returns:
    • setUserProperties

      public void setUserProperties(Map<Object,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 Object clone()
      Return a shallow copy of this Property. Simply calls super.clone().
      Overrides:
      clone in class Object
    • getXmlJoinNodesList

      public 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(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 String getVariableAttributeName()
    • setVariableAttributeName

      public void setVariableAttributeName(String variableAttributeName)
    • getVariableClassName

      public String getVariableClassName()
    • setVariableClassName

      public void setVariableClassName(String variableClassName)
    • isVariableNodeAttribute

      public boolean isVariableNodeAttribute()
    • setVariableNodeAttribute

      public void setVariableNodeAttribute(boolean variableNodeAttribute)
    • isTyped

      public boolean isTyped()
    • setTyped

      public void setTyped(boolean isTyped)
    • getFacets

      public List<Facet> getFacets()
    • addFacet

      public void addFacet(Facet facet)
    • setMinOccurs

      public void setMinOccurs(int minOccurs)
    • getMinOccurs

      public Integer getMinOccurs()
    • setMaxOccurs

      public void setMaxOccurs(int maxOccurs)
    • getMaxOccurs

      public Integer getMaxOccurs()
    • setNotNullAnnotated

      public void setNotNullAnnotated(boolean notNullAnnotated)
    • isNotNullAnnotated

      public boolean isNotNullAnnotated()