public abstract class AbstractBuildableObject extends AbstractDBObject
AbstractDBObject.ChildSupport, AbstractDBObject.ListenerSupport
Modifier | Constructor and Description |
---|---|
|
AbstractBuildableObject() |
protected |
AbstractBuildableObject(java.lang.String name,
DBObjectID id)
Constructs a new instance with the specified name and id.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkInit()
Checks that the whole object is initialized (built).
|
protected void |
checkInit(java.lang.String prop)
Checks that the given property has been built.
|
protected void |
copyToImpl(AbstractDBObject copy,
DBObject copyParent,
IDPolicy idPolicy)
Implementation method for making a copy of this object.
|
protected void |
getOwnedObjectsImpl(java.util.Collection<DBObject> c,
java.lang.String... types)
Implementation first checks that the object has been built - then returns
the collection from suprt.getOwnedObjectsImpl().
|
java.util.Map<java.lang.String,java.lang.Object> |
getProperties()
Gets the property map that stores all the property information for this
object.
|
protected void |
getReferenceIDsImpl(java.util.Collection<DBObjectID> refs)
Implementation first checks that the object has been built - then returns
the collection from suprt.getReferenceIDsImpl().
|
protected boolean |
needsInitialization()
Checks if there is still a DBObjectBuilder registered against this object,
identifying that it is not yet fully built.
|
protected void |
processPropertyChange(DBObjectChange change)
Called once for a set of property changes that have been made on this
object to allow additional processing of the change.
|
void |
setID(DBObjectID id)
Sets the object ID associated with this object.
|
addObjectListener, addObjectListener, addObjectListener, changeParent, compareToImpl, copyObject, copyTo, copyTo, copyTo, copyTo, equals, equalsImpl, findOwnedObject, findOwnedObject, findOwnedObject, findOwnedObject, findParent, fireObjectUpdated, firePropertyChanged, getChildSupport, getChildSupport, getID, getName, getOwnedObjects, getOwnedObjects, getParent, getProperty, getProperty, getReferenceIDs, hashCode, includeOwnedObject, includesType, includesType, removeObjectListener, removeObjectListener, removeObjectListener, removeOwnedObject, removeThisAsParent, replaceReferenceIDs, setName, setProperties, setProperty, toString
public AbstractBuildableObject()
protected AbstractBuildableObject(java.lang.String name, DBObjectID id)
name
- a string representing the name of this object.id
- the id for this object.protected boolean needsInitialization()
protected void checkInit(java.lang.String prop)
protected void checkInit()
public java.util.Map<java.lang.String,java.lang.Object> getProperties()
DBObject
getProperties
in interface DBObject
getProperties
in class AbstractDBObject
public void setID(DBObjectID id)
DBObject
setID
in interface DBObject
setID
in class AbstractDBObject
id
- the DBObjectID to be associated with this objectprotected void getOwnedObjectsImpl(java.util.Collection<DBObject> c, java.lang.String... types)
getOwnedObjectsImpl
in class AbstractDBObject
c
- a Collection of the apppropriate children.types
- a vararg of the type(s) to search forAbstractDBObject.includesType(java.lang.String, java.lang.String...)
protected void getReferenceIDsImpl(java.util.Collection<DBObjectID> refs)
getReferenceIDsImpl
in class AbstractDBObject
refs
- the collection of ids this object referencesprotected void copyToImpl(AbstractDBObject copy, DBObject copyParent, IDPolicy idPolicy)
AbstractDBObject
copyToImpl
in class AbstractDBObject
copy
- the copy being created of this objectcopyParent
- if this object is being copied underneath a parent, this
parameter is the copy of the parent of this object, which will therefore
need to be the parent of the copy of this object.idPolicy
- the policy for copying the object's ID.protected void processPropertyChange(DBObjectChange change)
This will not be called for properties that are set as a result of the object being built.
This method is called within a property lock with the original changes. If the implementation changes any further properties while processing the given change, they will automatically be combined with the original change to any caller or listener. It will also loop back to this method (with the additional change) so implementations must be careful not to infinite loop.
The default implementation clears any derived properties related to the changes. If overridden ensure that you call super (unless you don't want that to happen).
change
- the changes that have occurred (to process).