com.waveset.object
Class CompositeObject

java.lang.Object
  extended bycom.waveset.object.PersistentObject
      extended bycom.waveset.object.CompositeObject
All Implemented Interfaces:
java.lang.Comparable, javax.naming.Referenceable, XmlObject
Direct Known Subclasses:
IDMXUser

public abstract class CompositeObject
extends PersistentObject

An experiment to allow a GenericObject to be accessible as a PersistentObject, and also provide a Java model for "links" to related objects.


Nested Class Summary
 
Nested classes inherited from class com.waveset.object.PersistentObject
PersistentObject.Comparator, PersistentObject.InitialInstance
 
Field Summary
static java.lang.String EL_ASSIGNMENTS
           
static java.lang.String EL_LINKS
           
static java.lang.String TYPE_ACCOUNT
           
 
Fields inherited from class com.waveset.object.PersistentObject
_trace, code_id, trace
 
Constructor Summary
CompositeObject()
           
CompositeObject(org.w3c.dom.Element e)
           
 
Method Summary
 void addAssignment(ObjectRef ref)
           
 void addAssignment(Service obj)
           
 void addLink(Link l)
           
 void addSubclassAttributes(java.lang.StringBuffer b)
          Each concrete subclass may append to the buffer an XML representation of any fields it adds to PersistentObject (if those field values must persist).
 void addSubclassElements(java.lang.StringBuffer b)
          Each concrete subclass may append to the buffer an XML representation of any fields it adds to PersistentObject (if those field values must persist).
 java.lang.Object get(java.lang.String name)
           
 java.util.List getAssignmentRefs()
           
 java.util.List getAssignments()
          Return a list of resolved assignments.
 GenericObject getAttributes()
           
 java.util.List getFlatResources()
          Return a flat list of Resource objects assigned directly or through hierarchical Services.
 Link getLink(Resource r)
          Return a link that references this persistent object.
 Link getLink(Resource r, java.lang.String identity)
           
 java.util.List getLinks()
           
 java.lang.String getObjectType()
           
 void parseSubclassAttributes(org.w3c.dom.Element e)
          Each concrete subclass should parse from the XML buffer any persisted subclass-specific fields (generally, the same ones that it writes into the buffer).
 void parseSubclassElements(org.w3c.dom.Element e)
          Each concrete subclass should parse from the XML buffer any persisted subclass-specific elements (generally, the same ones that it writes into the buffer).
 void put(java.lang.String name, java.lang.Object value)
           
 void remove(java.lang.String name)
           
 void removeLink(Link l)
           
 void setAssignmentRefs(java.util.List refs)
           
 void setAttributes(GenericObject o)
           
 void setLinks(java.util.List l)
           
 void setObjectType(java.lang.String s)
           
 
Methods inherited from class com.waveset.object.PersistentObject
addCommonElements, addEndTag, addMemberObjectGroup, addMemberObjectGroup, addPersistentAttributes, addStartTag, addSummaryAttributes, addXmlHeader, attributesMatch, attributesMatch, attributesMatch, checkReference, checkReferences, clearId, cloneAs, cloneObject, compareTo, create, create, create, create, createLastModItem, createLastModItem, createLastModItemList, directObjectGroupMember, dump, dumpFile, equals, fakeId, getAttribute, getAttributeValues, getAttributeValues, getAuthReferences, getAuthType, getBasicAttributes, getBasicAttributes, getBasicAttributes, getCache, getCounterValue, getCreateDate, getCreator, getDisplayableName, getDisplayName, getElementName, getEncryptedValues, getId, getIdOrName, getInitialInstances, getLastMod, getLastModDate, getLastModifier, getLastModItemId, getLockInfo, getMemberObjectGroupRefs, getMemberObjectGroupRefsUpTo, getMemberObjectGroups, getName, getNameOrId, getProperties, getProperty, getPropertyAsString, getPropertyList, getQueryableAttributes, getReference, getReferences, getRuleDrivenMemberObjectGroupRefs, getRuleDrivenMemberObjectGroupRefsUpTo, getRuleDrivenMemberObjectGroups, getSubtype, getSummaryAttributes, getSummaryString, getType, hasEncryptedData, hashCode, identityEquals, isAlias, isHidden, isId, isProtected, isProtectedFromDelete, isReferencedIn, listOperationalAttributes, listQueryableAttributes, listQueryableReferenceAttributes, listSummaryAttributes, objectGroupMember, objectGroupMemberRef, parseCommonElement, parseCommonElements, parsePersistentAttributes, parseXml, parseXml, prepareForSerialization, prepareToSerialize, println, reEncrypt, reEncryptSubclassAttributes, removeMemberObjectGroup, removeProperty, resolve, resolve, resolve, resolveArray, resolveArrayByFetching, resolveObjectReference, resolveObjectReferences, resolveReference, resolveSummaryAttributes, resolveSummaryAttributes, ruleDrivenObjectGroupMemberRef, setAuthType, setAuthType, setCache, setCreateDate, setCreator, setDisplayName, setDisplayName, setHidden, setIsAlias, setLastMod, setLastMod, setLastModDate, setLastModifier, setMemberObjectGroupRef, setMemberObjectGroupRefs, setMemberObjectGroups, setName, setProperties, setProperty, setPropertyList, setProtected, setProtectedFromDelete, setRuleDrivenMembersCache, setSubtype, setTrace, toString, toXml, toXml, toXml, toXmlFile, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_ACCOUNT

public static final java.lang.String TYPE_ACCOUNT
See Also:
Constant Field Values

EL_ASSIGNMENTS

public static final java.lang.String EL_ASSIGNMENTS
See Also:
Constant Field Values

EL_LINKS

public static final java.lang.String EL_LINKS
See Also:
Constant Field Values
Constructor Detail

CompositeObject

public CompositeObject()

CompositeObject

public CompositeObject(org.w3c.dom.Element e)
                throws WavesetException
Method Detail

setObjectType

public void setObjectType(java.lang.String s)

getObjectType

public java.lang.String getObjectType()

getAttributes

public GenericObject getAttributes()

setAttributes

public void setAttributes(GenericObject o)

get

public java.lang.Object get(java.lang.String name)

put

public void put(java.lang.String name,
                java.lang.Object value)

remove

public void remove(java.lang.String name)

addAssignment

public void addAssignment(ObjectRef ref)

addAssignment

public void addAssignment(Service obj)

getAssignmentRefs

public java.util.List getAssignmentRefs()

setAssignmentRefs

public void setAssignmentRefs(java.util.List refs)

getAssignments

public java.util.List getAssignments()
                              throws WavesetException
Return a list of resolved assignments.

Throws:
WavesetException

getFlatResources

public java.util.List getFlatResources()
                                throws WavesetException
Return a flat list of Resource objects assigned directly or through hierarchical Services.

Throws:
WavesetException

addLink

public void addLink(Link l)

setLinks

public void setLinks(java.util.List l)

removeLink

public void removeLink(Link l)

getLinks

public java.util.List getLinks()

getLink

public Link getLink(Resource r)
Return a link that references this persistent object. In practice this should always be a Resource object, but we don't really care.


getLink

public Link getLink(Resource r,
                    java.lang.String identity)

parseSubclassAttributes

public void parseSubclassAttributes(org.w3c.dom.Element e)
Description copied from class: PersistentObject
Each concrete subclass should parse from the XML buffer any persisted subclass-specific fields (generally, the same ones that it writes into the buffer).

Overrides:
parseSubclassAttributes in class PersistentObject
See Also:

PersistentObject's default implementation is a no-op.

, PersistentObject.parseXml(Element)

parseSubclassElements

public void parseSubclassElements(org.w3c.dom.Element e)
                           throws WavesetException
Description copied from class: PersistentObject
Each concrete subclass should parse from the XML buffer any persisted subclass-specific elements (generally, the same ones that it writes into the buffer).

Overrides:
parseSubclassElements in class PersistentObject
Throws:
WavesetException
See Also:

PersistentObject's default implementation is a no-op.

, PersistentObject.parseXml(Element)

addSubclassAttributes

public void addSubclassAttributes(java.lang.StringBuffer b)
Description copied from class: PersistentObject
Each concrete subclass may append to the buffer an XML representation of any fields it adds to PersistentObject (if those field values must persist). PersistentObject's default implementation is a no-op.

NOTE: Any subclass that overrides this method must similarly override parseSubclassAttributes() so that the subclass attributes are restored.

Overrides:
addSubclassAttributes in class PersistentObject
See Also:


addSubclassElements

public void addSubclassElements(java.lang.StringBuffer b)
Description copied from class: PersistentObject
Each concrete subclass may append to the buffer an XML representation of any fields it adds to PersistentObject (if those field values must persist). PersistentObject's default implementation is a no-op.

NOTE: Any subclass that overrides this method must similarly override parseSubclassElements() so that the subclass elements are restored.

Overrides:
addSubclassElements in class PersistentObject
See Also: