public interface PropertyManager
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
canAlterProperty(SystemObject original,
                SystemObject update,
                java.lang.String prop)
Convenience method to call  
canChangeProperty(oracle.javatools.db.SystemObject, oracle.javatools.db.SystemObject, java.lang.String) and check the return
 value is a PropertyAction with a type of ALTER. | 
PropertyAction | 
canChangeProperty(SystemObject original,
                 SystemObject update,
                 java.lang.String prop)
Queries the support for setting or changing the given property for a create
 or update. 
 | 
boolean | 
canCreateProperty(SystemObject object,
                 java.lang.String prop)
Queries the support for setting or changing the given property for a create
 or update. 
 | 
PropertyAction | 
canUpdateObject(Difference rs)
Convenience method that uses  
canChangeProperty(oracle.javatools.db.SystemObject, oracle.javatools.db.SystemObject, java.lang.String) on all the
 differences in the given Difference to tell whether the update on the given
 objects can be done using a CREATE, ALTER or REPLACE as appropriate. | 
PropertyAction | 
canUpdateObject(SystemObject orig,
               SystemObject update)
Convenience method that uses  
canChangeProperty(oracle.javatools.db.SystemObject, oracle.javatools.db.SystemObject, java.lang.String) on all the
 differences in the given object to tell whether the update on the given
 objects can be done using a CREATE, ALTER or REPLACE as appropriate. | 
PropertyInfo | 
findPropertyInfo(java.lang.Class<? extends DBObject> objClz,
                java.lang.String prop)
Finds a PropertyInfo for the given property on the given object class. 
 | 
java.util.Collection | 
getAllowedPropertyValues(DBObject originalObject,
                        DBObject updatedObject,
                        java.lang.String property)
Gets the allowed property values for the given object and property
 in the described database. 
 | 
java.util.Collection<java.lang.String> | 
getAllowedReferenceParentTypes(DBObject obj,
                              java.lang.String property)
Gets the allowed object types of the parent object for a given
 reference property. 
 | 
java.util.Collection<java.lang.String> | 
getAllowedReferenceTypes(DBObject object,
                        java.lang.String property)
Gets the list of object types that can be referenced from the given
 property. 
 | 
java.util.Collection<java.lang.String> | 
getAllowedReferenceTypes(PropertyInfo propInfo)
Gets the list of object types that can be referenced from the given
 property. 
 | 
java.util.Collection<java.lang.String> | 
getAllowedReferenceTypes(java.lang.String objectType,
                        java.lang.String property)
Gets the list of object types that can be referenced from the given
 property. 
 | 
java.lang.Object | 
getImplicitDefaultValue(DBObject obj,
                       java.lang.String property)
Gets the implicit default value for the given object property, if one
 exists. 
 | 
Nullable.NullBehaviour | 
getNullBehaviour(DBObject originalObject,
                DBObject updatedObject,
                java.lang.String property)
Gets the null behaviour of the given object property. 
 | 
java.util.Map<java.lang.String,PropertyInfo> | 
getPropertyInfos(java.lang.Class<? extends DBObject> objClass,
                PropertyCriteria criteria)
Gets the PropertyInfos (mapped by their property name) for the given
 object class that are supported by this PropertyManager's
 DBObjectProvider. 
 | 
java.util.Collection<java.lang.String> | 
getRestrictingProperties(java.lang.Class<? extends SystemObject> objClz,
                        java.lang.String property)
Gets a list of other property paths which restrict the canCreate/Replace/Alter
 support of the given system object property path. 
 | 
boolean | 
supportsAction(java.lang.String type,
              PropertyAction.Type action)
Asks whether a given action is supported for the specified object type
 in this provider. 
 | 
boolean | 
supportsProperty(java.lang.Class<? extends DBObject> objClz,
                java.lang.String prop)
Tests whether the given property is supported for the given object type. 
 | 
boolean | 
supportsProperty(java.lang.String type,
                java.lang.String prop)
Tests whether the given property is supported for the given object type. 
 | 
PropertyAction | 
supportsPropertyChange(java.lang.Class<? extends SystemObject> objClz,
                      java.lang.String prop)
Tests whether the given property can be changed on the given system
 object type. 
 | 
boolean supportsAction(java.lang.String type,
                       PropertyAction.Type action)
boolean supportsProperty(java.lang.String type,
                         java.lang.String prop)
type - the object type (e.g.
 Table.TYPE ).prop - the property name / path.boolean supportsProperty(java.lang.Class<? extends DBObject> objClz, java.lang.String prop)
objClz - the object class (e.g. Table.class or Column.class ).prop - the property name / path.PropertyAction supportsPropertyChange(java.lang.Class<? extends SystemObject> objClz, java.lang.String prop)
 If the property is a child property, and ALTER is supported then the
 action may contain child information (e.g. whether children can be
 added/removed/modified) via the supportsChildAction method.
objClz - the type of system object to testprop - the property (can be a path) that we want to changePropertyAction.supportsChildAction(oracle.javatools.db.property.PropertyAction.ChildAction)java.util.Map<java.lang.String,PropertyInfo> getPropertyInfos(java.lang.Class<? extends DBObject> objClass, PropertyCriteria criteria)
 To list properties generically (outside the context of a
 DBObjectProvider) see PropertyHelper.getPropertyInfos(java.lang.Class<?>, java.lang.Class<? extends oracle.javatools.db.DBObjectProvider>, oracle.javatools.db.property.PropertyCriteria).
objClass - the object class to list properties forcriteria - the criteria for lookup (can be null to list all
 non-deprecated properties). The given criteria might be modified (by
 having a predicate added) by the implementation.PropertyInfo findPropertyInfo(java.lang.Class<? extends DBObject> objClz, java.lang.String prop)
 To find a property generically (outside the context of a
 DBObjectProvider) see PropertyHelper.findPropertyInfo(java.lang.String, java.lang.String, java.lang.Class<? extends oracle.javatools.db.DBObjectProvider>).
objClz - the object class (e.g. Column.class ).prop - the property name / path.boolean canCreateProperty(SystemObject object, java.lang.String prop)
original - the original object (null for a create query)update - the updated (or new) objectprop - the property name / path to queryPropertyAction canChangeProperty(SystemObject original, SystemObject update, java.lang.String prop)
original - the original object (null for a create query)update - the updated (or new) objectprop - the property name / path to queryboolean canAlterProperty(SystemObject original, SystemObject update, java.lang.String prop)
canChangeProperty(oracle.javatools.db.SystemObject, oracle.javatools.db.SystemObject, java.lang.String) and check the return
 value is a PropertyAction with a type of ALTER.original - the original object (null for a create query)update - the updated (or new) objectprop - the property name / path to queryPropertyAction canUpdateObject(SystemObject orig, SystemObject update)
canChangeProperty(oracle.javatools.db.SystemObject, oracle.javatools.db.SystemObject, java.lang.String) on all the
 differences in the given object to tell whether the update on the given
 objects can be done using a CREATE, ALTER or REPLACE as appropriate.orig - the original object (null for a create query)update - the updated (or new) objectPropertyAction canUpdateObject(Difference rs)
canChangeProperty(oracle.javatools.db.SystemObject, oracle.javatools.db.SystemObject, java.lang.String) on all the
 differences in the given Difference to tell whether the update on the given
 objects can be done using a CREATE, ALTER or REPLACE as appropriate.
 The Difference must be a diff of two SystemObjects.rs - the changes to testjava.lang.ClassCastException - if the objects in the Difference are not
 SystemObjects.java.util.Collection getAllowedPropertyValues(DBObject originalObject, DBObject updatedObject, java.lang.String property)
updatedObject - the object the property is onproperty - the property to checkjava.util.Collection<java.lang.String> getRestrictingProperties(java.lang.Class<? extends SystemObject> objClz, java.lang.String property)
class - of the SystemObject that the property is onproperty - the full path of the propertyNullable.NullBehaviour getNullBehaviour(DBObject originalObject, DBObject updatedObject, java.lang.String property)
originalObject - the original object, or null if this isn't an
 edit.updatedObject - the updated object (must not be null).property - the property to test.java.util.Collection<java.lang.String> getAllowedReferenceTypes(DBObject object, java.lang.String property)
object - the object the reference is fromproperty - the reference property namethe - provider the referencing object is fromjava.util.Collection<java.lang.String> getAllowedReferenceTypes(java.lang.String objectType,
                                                                java.lang.String property)
objectType - the type of object the reference is fromproperty - the reference property namethe - provider the referencing object is fromjava.util.Collection<java.lang.String> getAllowedReferenceTypes(PropertyInfo propInfo)
propInfo - the PropertyInfo for the property to testthe - provider the referencing object is fromjava.util.Collection<java.lang.String> getAllowedReferenceParentTypes(DBObject obj, java.lang.String property)
For example for an FKConstraint referenceID property this will return Table.TYPE.
obj - the object the property is set onproperty - the name of the property to lookuppro - the current providerjava.lang.Object getImplicitDefaultValue(DBObject obj, java.lang.String property)
nullable, if null means "Not
 Specified" then the default is not of interest.obj - the object the property is onproperty - the property name