Class SDOProperty

java.lang.Object
org.eclipse.persistence.sdo.SDOProperty
All Implemented Interfaces:
Property, Serializable

public class SDOProperty extends Object implements Property, Serializable

Purpose:A representation of a Property in the type of a data object.

Responsibilities:

  • A property represents an element or attribute in XML
See Also:
  • Constructor Details

  • Method Details

    • getName

      public String getName()
      Returns the name of the Property.
      Specified by:
      getName in interface Property
      Returns:
      the Property name.
    • getType

      public SDOType getType()
      Returns the type of the Property.
      Specified by:
      getType in interface Property
      Returns:
      the Property type.
    • isMany

      public boolean isMany()
      Returns whether the Property is many-valued.
      Specified by:
      isMany in interface Property
      Returns:
      true if the Property is many-valued.
    • isOpenContent

      public boolean isOpenContent()
      Return whether or not this is an open content property.
      Specified by:
      isOpenContent in interface Property
      Returns:
      true if this property is an open content property.
    • isContainment

      public boolean isContainment()
      Returns whether the Property is containment, i.e., whether it represents by-value composition.
      Specified by:
      isContainment in interface Property
      Returns:
      true if the Property is containment.
    • getContainingType

      public SDOType getContainingType()
      Returns the containing type of this Property.
      Specified by:
      getContainingType in interface Property
      Returns:
      the Property's containing type.
      See Also:
    • getDefault

      public Object getDefault()
      Returns the default value this Property will have in a data object where the Property hasn't been set.
      Specified by:
      getDefault in interface Property
      Returns:
      the default value.
    • isReadOnly

      public boolean isReadOnly()
      Returns true if values for this Property cannot be modified using the SDO APIs. When true, DataObject.set(Property property, Object value) throws an exception. Values may change due to other factors, such as services operating on DataObjects.
      Specified by:
      isReadOnly in interface Property
      Returns:
      true if values for this Property cannot be modified.
    • getOpposite

      public SDOProperty getOpposite()
      Returns the opposite Property if the Property is bi-directional or null otherwise.
      Specified by:
      getOpposite in interface Property
      Returns:
      the opposite Property if the Property is bi-directional or null
    • hasAliasNames

      public boolean hasAliasNames()
    • getAliasNames

      public List getAliasNames()
      Return a list of alias names for this Property.
      Specified by:
      getAliasNames in interface Property
      Returns:
      a list of alias names for this Property.
    • setName

      public void setName(String name)
      INTERNAL: Assign a string as a unique name of this Property among Properties that belongs to a DataObject.
      Parameters:
      name - a string representing unique name of a property of a DataObject.
    • setType

      public void setType(Type type)
      INTERNAL: Assign a Type to this Property.
      Parameters:
      type - the type of this property.
    • setContainment

      public void setContainment(boolean containment)
      INTERNAL: Set this Property's Containment which shows parent-child relationship in a tree of DataObjects.
      Parameters:
      containment - a boolean value showing if this Property is containment.
    • setMany

      public void setMany(boolean many)
      INTERNAL: Set this property as single-valued(false) or many-valued(true). Default is false.
      Parameters:
      many - a boolean value if this property is many-valued or not.
    • setReadOnly

      public void setReadOnly(boolean readOnly)
      INTERNAL: Set this Property as read-only Property.
      Parameters:
      readOnly - boolean value implying this Property is readonly.
    • setAliasNames

      public void setAliasNames(List names)
      INTERNAL: Set this Property's alias name list which are unique within the Type.
      Parameters:
      names - a list of alias name of this Property.
    • setContainingType

      public void setContainingType(Type type)
      INTERNAL: Set the containing type of this Property.
      Parameters:
      type - a Type which is the containing type of this Property
    • setDefault

      public void setDefault(Object aDefaultValue)
      INTERNAL: Set the default value of this Property.
      Parameters:
      aDefaultValue - an Object to be the default value of this type.
    • setOpposite

      public void setOpposite(Property property)
      INTERNAL: Set the opposite Property. If not null then this Property is a of a bi-directional Property.
      Parameters:
      property - the opposite Property if the Property is bi-directional, otherwise null
    • setXsd

      public void setXsd(boolean xsd)
      INTERNAL: Set if this property was declared in an XML schema.
      Parameters:
      xsd - a boolean representing if this property was declared in an XML schema
    • isXsd

      public boolean isXsd()
      INTERNAL: Returns if this property was declared in an XML schema. Defaults to false.
      Returns:
      if this property was declared in an XML schema
    • setXsdLocalName

      public void setXsdLocalName(String xsdLocalName)
      INTERNAL: Set the local name of this property.
      Parameters:
      xsdLocalName - a String representing the local name of this property if it was declared in an XML schema
    • getXsdLocalName

      public String getXsdLocalName()
      INTERNAL: Returns the local name of the Property.
      Returns:
      the local name of the property.
    • setNamespaceQualified

      public void setNamespaceQualified(boolean namespaceQualified)
      INTERNAL: Set if the element or attribute corresponding to this Property is namespace qualified in the XSD.
      Parameters:
      namespaceQualified - a boolean representing if the element or attribute corresponding to this Property is namespace qualified in the XSD.
    • isNamespaceQualified

      public boolean isNamespaceQualified()
      INTERNAL: Returns if the element or attribute corresponding to this Property should be namespace qualified in the XSD.
      Returns:
      if the element or attribute corresponding to this Property should be namespace qualified in the XSD.
    • setXmlMapping

      public void setXmlMapping(DatabaseMapping xmlMapping)
      INTERNAL:
    • getXmlMapping

      public DatabaseMapping getXmlMapping()
      INTERNAL:
    • setGlobal

      public void setGlobal(boolean global)
      INTERNAL:
    • isGlobal

      public boolean isGlobal()
      INTERNAL:
    • isElement

      protected Boolean isElement()
      INTERNAL: Return true if the property is an element, false if the property is an attribute, and null if it has not been specified. This property has been added as a performance optimization to reduce the number of Maps created for the propertyValues property.
    • buildMapping

      public void buildMapping(String mappingUri)
      INTERNAL:
    • buildMapping

      public void buildMapping(String mappingUri, int indexToAdd)
      INTERNAL:
    • buildChangeSummaryMapping

      public void buildChangeSummaryMapping()
      INTERNAL:
    • addMappingToOwner

      public void addMappingToOwner(boolean sdoMethodAttributeAccessor, int indexToAdd)
      INTERNAL:
    • getXPath

      public String getXPath()
      INTERNAL:
    • getQualifiedXPath

      public String getQualifiedXPath(String uri, boolean simple)
      INTERNAL:
    • get

      public Object get(Property property)
      Description copied from interface: Property
      Returns the value of the specified instance property of this Property.
      Specified by:
      get in interface Property
      Parameters:
      property - one of the properties returned by Property.getInstanceProperties().
      Returns:
      the value of the specified property.
      See Also:
    • getInstanceProperties

      public List getInstanceProperties()
      Description copied from interface: Property
      Returns a read-only List of instance Properties available on this Property.

      This list includes, at a minimum, any open content properties (extensions) added to the object before defining the Property's Type. Implementations may, but are not required to in the 2.1 version of SDO, provide additional instance properties.

      Specified by:
      getInstanceProperties in interface Property
      Returns:
      the List of instance Properties on this Property.
    • setPropertyValues

      public void setPropertyValues(Map properties)
      INTERNAL:
    • getPropertyValues

      public Map getPropertyValues()
      INTERNAL:
    • setInstanceProperty

      public void setInstanceProperty(Property property, Object value)
    • setIndexInType

      public void setIndexInType(int indexInType)
      INTERNAL:
    • getIndexInType

      public int getIndexInType()
      INTERNAL:
    • incrementIndexInType

      public void incrementIndexInType()
      INTERNAL:
    • setNullable

      public void setNullable(boolean nullable)
      INTERNAL:
    • isNullable

      public boolean isNullable()
      Description copied from interface: Property
      Returns whether or not instances of this property can be set to null. The effect of calling set(null) on a non-nullable property is not specified by SDO.
      Specified by:
      isNullable in interface Property
      Returns:
      true if this property is nullable.
    • setXsdType

      public void setXsdType(QName xsdType)
      INTERNAL:
    • getXsdType

      public QName getXsdType()
      INTERNAL:
    • getMimeTypePolicy

      public MimeTypePolicy getMimeTypePolicy()
      INTERNAL:
    • setIndexInDeclaredProperties

      public void setIndexInDeclaredProperties(int indexInDeclaredProperties)
      INTERNAL:
    • getIndexInDeclaredProperties

      public int getIndexInDeclaredProperties()
      INTERNAL:
    • setValueProperty

      public void setValueProperty(boolean valueProperty)
      INTERNAL:
    • isValueProperty

      public boolean isValueProperty()
      INTERNAL:
    • setAppInfoElements

      public void setAppInfoElements(List appInfoElements)
      INTERNAL:
    • getAppInfoElements

      public List getAppInfoElements()
      INTERNAL:
    • getAppInfoMap

      public Map getAppInfoMap()
      INTERNAL:
    • setNameCollision

      public void setNameCollision(boolean nameCollision)
    • isNameCollision

      public boolean isNameCollision()
    • isDefaultSet

      public boolean isDefaultSet()
      INTERNAL: Return whether the default value has been set by the schema either via a define by an XSD or a DataObject.
      Returns:
      isDefaultSet
    • setUri

      public void setUri(String uri)
    • getUri

      public String getUri()
    • buildXMLFragmentMapping

      public XMLFragmentMapping buildXMLFragmentMapping(String uri)
    • buildXMLFragmentCollectionMapping

      public XMLFragmentCollectionMapping buildXMLFragmentCollectionMapping(String mappingUri)
    • isSubstitutable

      public boolean isSubstitutable()
    • setSubstitutable

      public void setSubstitutable(boolean substitutable)
    • getSubstitutableElements

      public Collection<SDOProperty> getSubstitutableElements()
    • setSubstitutableElements

      public void setSubstitutableElements(Collection<SDOProperty> elements)
    • setFinalized

      public void setFinalized(boolean isFinalized)
    • isFinalized

      public boolean isFinalized()
    • hashCode

      public int hashCode()
      Return a unique hashCode (as an int) for this instance.
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Indicate if a given SDOProperty instance is equal to this instance. Equality is determined based on name, uri, and type. In addition, checking will be done to ensure that both properties are to be serialized in the same manner, ie. both to XML element or both to XML attribute.
      Overrides:
      equals in class Object
      Parameters:
      obj - Object to compare to this SDOProperty instance
      Returns:
      true if obj is equal to this SDOProperty instance, false if not