public abstract class DerivedPropertyBuilder<T extends AbstractBuildableObject> extends AbstractDBObjectBuilder<T>
PropertyBuilder
annotation to facilitate building.AbstractDBObjectBuilder.PropertyBuilder
BASE_COMPONENT_KEY
Constructor and Description |
---|
DerivedPropertyBuilder(AbstractDBObjectProvider pro, java.lang.String type)
Creates a new derived property builder.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
canBuildComponents()
Returns false by default.
|
java.util.Collection<java.lang.String> |
clearDerivedProperties(T obj, java.lang.String property, DBObjectChange change)
Clears the properties that are derived from the given property and that need resetting given the new value for the source property.
|
T |
createObject(java.lang.String name, Schema schema, DBObjectID id)
Requests the creation of a new SchemaObject of the type built by this
DBObjectBuilder instance. |
protected void |
registerObject(T object)
Shared between buildObject and buildObjects to perform any post-build tasks that are needed (e.g.
|
buildObject, buildObjectComponent, canBuildEditableObject, ensureComponent, fillInObject, fillInObjectComponent, findObjectInProviderCache, findObjectInProviderCache, getBuiltProperties, getDerivedProperties, getLogger, getObjectType, getProvider, getSchema, isBuildableProperty, markAsBuilt, markAsBuilt, needsBuilding, needsBuilding, newObject, newObject, updateTimestamp, updateTimestamp
public DerivedPropertyBuilder(AbstractDBObjectProvider pro, java.lang.String type)
pro
- the containing providertype
- the type of object that is built by this builder (e.g. Table.TYPE
)public java.util.Collection<java.lang.String> clearDerivedProperties(T obj, java.lang.String property, DBObjectChange change)
obj
- the object the property is being changed onproperty
- the property being changedchange
- the overall change that is occuringprotected final boolean canBuildComponents()
AbstractDBObjectBuilder
AbstractDBObjectBuilder.PropertyBuilder
annotation.canBuildComponents
in class AbstractDBObjectBuilder<T extends AbstractBuildableObject>
public final T createObject(java.lang.String name, Schema schema, DBObjectID id)
DBObjectBuilder
DBObjectBuilder
instance.createObject
in interface DBObjectBuilder<T extends AbstractBuildableObject>
createObject
in class AbstractDBObjectBuilder<T extends AbstractBuildableObject>
name
- The name of the new objectschema
- The schema containing the new objectid
- the DBObjectID for the new objectprotected void registerObject(T object) throws DBException
AbstractDBObjectBuilder
registerObject
in class AbstractDBObjectBuilder<T extends AbstractBuildableObject>
DBException