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