Package commonj.sdo

# Interface Property

public interface Property
A representation of a Property in the `type` of a `data object`.

## Method Summary

Modifier and Type
Method
Description
`Object`
`get(Property property)`
Returns the value of the specified instance property of this Property.
`List`
`getAliasNames()`
Returns a list of alias names for this Property.
`Type`
`getContainingType()`
Returns the containing type of this Property.
`Object`
`getDefault()`
Returns the default value this Property will have in a `data object` where the Property hasn't been set.
`List`
`getInstanceProperties()`
Returns a read-only List of instance Properties available on this Property.
`String`
`getName()`
Returns the name of the Property.
`Property`
`getOpposite()`
Returns the opposite Property if the Property is bi-directional or null otherwise.
`Type`
`getType()`
Returns the type of the Property.
`boolean`
`isContainment()`
Returns whether the Property is containment, i.e., whether it represents by-value composition.
`boolean`
`isMany()`
Returns whether the Property is many-valued.
`boolean`
`isNullable()`
Returns whether or not instances of this property can be set to null.
`boolean`
`isOpenContent()`
Returns 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.

## Method Details

### getName

String getName()
Returns the name of the Property.

Returns:
  the Property name.

### getType

Type getType()
Returns the type of the Property.

Returns:
  the Property type.

### isMany

boolean isMany()
Returns whether the Property is many-valued.

Returns:
  `true` if the Property is many-valued.

### isContainment

boolean isContainment()
Returns whether the Property is containment, i.e., whether it represents by-value composition.

Returns:
  `true` if the Property is containment.

### getContainingType

Type getContainingType()
Returns the containing type of this Property.

Returns:
  the Property's containing type.
See Also:
  - `Type.getProperties()`

### getDefault

Object getDefault()
Returns the default value this Property will have in a `data object` where the Property hasn't been set.

Returns:
  the default value.

### isReadOnly

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.

Returns:
  true if values for this Property cannot be modified.

### getOpposite

Property getOpposite()
Returns the opposite Property if the Property is bi-directional or null otherwise.

Returns:
  the opposite Property if the Property is bi-directional or null

### getAliasNames

List getAliasNames()
Returns a list of alias names for this Property.

Returns:
  a list of alias names for this Property.

### isNullable

boolean isNullable()
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.

Returns:
  true if this property is nullable.

### isOpenContent

boolean isOpenContent()
Returns whether or not this is an open content Property.

Returns:
  true if this property is an open content Property.

### getInstanceProperties

List getInstanceProperties()
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.

Returns:
  the List of instance Properties on this Property.

### get

Object get(Property property)
Returns the value of the specified instance property of this Property.

Parameters:
  `property` - one of the properties returned by `getInstanceProperties()`.
Returns:
  the value of the specified property.
See Also:
  - `DataObject.get(Property)`