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.
|
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)
PropertyInfo findPropertyInfo(java.lang.Class<? extends DBObject> objClz, java.lang.String prop)
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 checkNullable.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