diff options
Diffstat (limited to 'sdo-java/branches/sdo-java-M2/sdo-api/src/main/java/commonj/sdo/Property.java')
-rw-r--r-- | sdo-java/branches/sdo-java-M2/sdo-api/src/main/java/commonj/sdo/Property.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/sdo-java/branches/sdo-java-M2/sdo-api/src/main/java/commonj/sdo/Property.java b/sdo-java/branches/sdo-java-M2/sdo-api/src/main/java/commonj/sdo/Property.java new file mode 100644 index 0000000000..cc96e90b44 --- /dev/null +++ b/sdo-java/branches/sdo-java-M2/sdo-api/src/main/java/commonj/sdo/Property.java @@ -0,0 +1,79 @@ +/** + * <copyright> + * + * Service Data Objects + * Version 2.0 + * Licensed Materials - Property of BEA and IBM + * + * (c) Copyright BEA Systems, Inc. and International Business Machines Corp 2005. All rights reserved. + * + * </copyright> + * + */ + +package commonj.sdo; + +import java.util.List; + +/** + * A representation of a Property in the {@link Type type} of a {@link DataObject data object}. + */ +public interface Property +{ + /** + * Returns the name of the Property. + * @return the Property name. + */ + String getName(); + + /** + * Returns the type of the Property. + * @return the Property type. + */ + Type getType(); + + /** + * Returns whether the Property is many-valued. + * @return <code>true</code> if the Property is many-valued. + */ + boolean isMany(); + + /** + * Returns whether the Property is containment, i.e., whether it represents by-value composition. + * @return <code>true</code> if the Property is containment. + */ + boolean isContainment(); + + /** + * Returns the containing type of this Property. + * @return the Property's containing type. + * @see Type#getProperties() + */ + Type getContainingType(); + + /** + * Returns the default value this Property will have in a {@link DataObject data object} where the Property hasn't been set. + * @return the default value. + */ + Object getDefault(); + + /** + * 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. + * @return true if values for this Property cannot be modified. + */ + boolean isReadOnly(); + + /** + * Returns the opposite Property if the Property is bi-directional or null otherwise. + * @return the opposite Property if the Property is bi-directional or null + */ + Property getOpposite(); + + /** + * Return a list of alias names for this Property. + * @return a list of alias names for this Property. + */ + List /*String*/ getAliasNames(); +} |