Package org.eclipse.persistence.sdo
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 adata object
.Responsibilities:
- A property represents an element or attribute in XML
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SDOProperty(HelperContext aContext)
SDOProperty(HelperContext aContext, String aName)
SDOProperty(HelperContext aContext, String aUri, String aName, SDOType aType)
SDOProperty(HelperContext aContext, String aName, SDOType aType)
SDOProperty(HelperContext aContext, String aName, SDOType aType, boolean hasMany)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMappingToOwner(boolean sdoMethodAttributeAccessor, int indexToAdd)
INTERNAL:void
buildChangeSummaryMapping()
INTERNAL:void
buildMapping(String mappingUri)
INTERNAL:void
buildMapping(String mappingUri, int indexToAdd)
INTERNAL:XMLFragmentCollectionMapping
buildXMLFragmentCollectionMapping(String mappingUri)
XMLFragmentMapping
buildXMLFragmentMapping(String uri)
boolean
equals(Object obj)
Indicate if a given SDOProperty instance is equal to this instance.Object
get(Property property)
Returns the value of the specified instance property of this Property.List
getAliasNames()
Return a list of alias names for this Property.List
getAppInfoElements()
INTERNAL:Map
getAppInfoMap()
INTERNAL:SDOType
getContainingType()
Returns the containing type of this Property.Object
getDefault()
Returns the default value this Property will have in adata object
where the Property hasn't been set.int
getIndexInDeclaredProperties()
INTERNAL:int
getIndexInType()
INTERNAL:List
getInstanceProperties()
Returns a read-only List of instance Properties available on this Property.MimeTypePolicy
getMimeTypePolicy()
INTERNAL:String
getName()
Returns the name of the Property.SDOProperty
getOpposite()
Returns the opposite Property if the Property is bi-directional or null otherwise.Map
getPropertyValues()
INTERNAL:String
getQualifiedXPath(String uri, boolean simple)
INTERNAL:Collection<SDOProperty>
getSubstitutableElements()
SDOType
getType()
Returns the type of the Property.String
getUri()
DatabaseMapping
getXmlMapping()
INTERNAL:String
getXPath()
INTERNAL:String
getXsdLocalName()
INTERNAL: Returns the local name of the Property.QName
getXsdType()
INTERNAL:boolean
hasAliasNames()
int
hashCode()
Return a unique hashCode (as an int) for this instance.void
incrementIndexInType()
INTERNAL:boolean
isContainment()
Returns whether the Property is containment, i.e., whether it represents by-value composition.boolean
isDefaultSet()
INTERNAL: Return whether the default value has been set by the schema either via a define by an XSD or a DataObject.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.boolean
isFinalized()
boolean
isGlobal()
INTERNAL:boolean
isMany()
Returns whether the Property is many-valued.boolean
isNameCollision()
boolean
isNamespaceQualified()
INTERNAL: Returns if the element or attribute corresponding to this Property should be namespace qualified in the XSD.boolean
isNullable()
Returns whether or not instances of this property can be set to null.boolean
isOpenContent()
Return whether or not this is an open content property.boolean
isReadOnly()
Returns true if values for this Property cannot be modified using the SDO APIs.boolean
isSubstitutable()
boolean
isValueProperty()
INTERNAL:boolean
isXsd()
INTERNAL: Returns if this property was declared in an XML schema.void
setAliasNames(List names)
INTERNAL: Set this Property's alias name list which are unique within the Type.void
setAppInfoElements(List appInfoElements)
INTERNAL:void
setContainingType(Type type)
INTERNAL: Set the containing type of this Property.void
setContainment(boolean containment)
INTERNAL: Set this Property's Containment which shows parent-child relationship in a tree of DataObjects.void
setDefault(Object aDefaultValue)
INTERNAL: Set the default value of this Property.void
setFinalized(boolean isFinalized)
void
setGlobal(boolean global)
INTERNAL:void
setIndexInDeclaredProperties(int indexInDeclaredProperties)
INTERNAL:void
setIndexInType(int indexInType)
INTERNAL:void
setInstanceProperty(Property property, Object value)
void
setMany(boolean many)
INTERNAL: Set this property as single-valued(false) or many-valued(true).void
setName(String name)
INTERNAL: Assign a string as a unique name of this Property among Properties that belongs to a DataObject.void
setNameCollision(boolean nameCollision)
void
setNamespaceQualified(boolean namespaceQualified)
INTERNAL: Set if the element or attribute corresponding to this Property is namespace qualified in the XSD.void
setNullable(boolean nullable)
INTERNAL:void
setOpposite(Property property)
INTERNAL: Set the opposite Property.void
setPropertyValues(Map properties)
INTERNAL:void
setReadOnly(boolean readOnly)
INTERNAL: Set this Property as read-only Property.void
setSubstitutable(boolean substitutable)
void
setSubstitutableElements(Collection<SDOProperty> elements)
void
setType(Type type)
INTERNAL: Assign a Type to this Property.void
setUri(String uri)
void
setValueProperty(boolean valueProperty)
INTERNAL:void
setXmlMapping(DatabaseMapping xmlMapping)
INTERNAL:void
setXsd(boolean xsd)
INTERNAL: Set if this property was declared in an XML schema.void
setXsdLocalName(String xsdLocalName)
INTERNAL: Set the local name of this property.void
setXsdType(QName xsdType)
INTERNAL:
-
-
-
Constructor Detail
-
SDOProperty
public SDOProperty(HelperContext aContext)
-
SDOProperty
public SDOProperty(HelperContext aContext, String aName)
-
SDOProperty
public SDOProperty(HelperContext aContext, String aName, SDOType aType)
-
SDOProperty
public SDOProperty(HelperContext aContext, String aName, SDOType aType, boolean hasMany)
-
SDOProperty
public SDOProperty(HelperContext aContext, String aUri, String aName, SDOType aType)
-
-
Method Detail
-
getName
public String getName()
Returns the name of the Property.
-
getType
public SDOType getType()
Returns the type of the Property.
-
isMany
public boolean isMany()
Returns whether the Property is many-valued.
-
isOpenContent
public boolean isOpenContent()
Return whether or not this is an open content property.- Specified by:
isOpenContent
in interfaceProperty
- 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 interfaceProperty
- Returns:
true
if the Property is containment.
-
getContainingType
public SDOType getContainingType()
Returns the containing type of this Property.- Specified by:
getContainingType
in interfaceProperty
- Returns:
- the Property's containing type.
- See Also:
Type.getProperties()
-
getDefault
public Object getDefault()
Returns the default value this Property will have in adata object
where the Property hasn't been set.- Specified by:
getDefault
in interfaceProperty
- 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 interfaceProperty
- 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 interfaceProperty
- 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 interfaceProperty
- 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:
-
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 interfaceProperty
- Parameters:
property
- one of the properties returned byProperty.getInstanceProperties()
.- Returns:
- the value of the specified property.
- See Also:
DataObject.get(Property)
-
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 interfaceProperty
- Returns:
- the List of instance Properties on this Property.
-
setPropertyValues
public void setPropertyValues(Map properties)
INTERNAL:
-
getPropertyValues
public Map getPropertyValues()
INTERNAL:
-
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 interfaceProperty
- 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.
-
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.
-
-