summaryrefslogtreecommitdiffstats
path: root/sdo-java/branches/sdo-java-M2/sdo-api/src/main/java/commonj/sdo/Property.java
diff options
context:
space:
mode:
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.java79
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();
+}