com.waveset.object
Class ObjectGroup

java.lang.Object
  extended by com.waveset.object.PersistentObject
      extended by com.waveset.object.ObjectGroup
All Implemented Interfaces:
com.waveset.object.AttributeBag, XmlObject, java.lang.Comparable, javax.naming.Referenceable

public class ObjectGroup
extends PersistentObject

An ObjectGroup is a collection of PersistentObjects. ObjectGroups can be nested to form a hierarchy.

Lighthouse predefines two instances of ObjectGroup:


Nested Class Summary
static class ObjectGroup.ResourceContainerInfo
          Used for values of the _resetCheck field.
 
Nested classes/interfaces inherited from class com.waveset.object.PersistentObject
PersistentObject.Comparator, PersistentObject.InitialInstance
 
Field Summary
static ObjectGroup All
           
static java.lang.String code_id
           
static ObjectGroup Top
           
 
Fields inherited from class com.waveset.object.PersistentObject
INITIAL_OBJECT_VERSION
 
Constructor Summary
ObjectGroup()
           
ObjectGroup(org.w3c.dom.Element e)
           
ObjectGroup(ObjectGroup src)
          Clone the object, cloning the object refs to remove any resolved refs that might not belong to the new object's cache.
ObjectGroup(java.lang.String name)
           
 
Method Summary
 void addApprover(com.waveset.object.ObjectRef ref)
          Add one approver to our approver list.
 void addApprover(WSUser admin)
          Add one approver to our approver list.
 void addAuditPolicyRef(com.waveset.object.ObjectRef ref)
           
 void addPolicyRef(com.waveset.object.ObjectRef ref)
           
 void clearApprovers()
          Clear the approvers list.
 PersistentObject cloneObject()
          Clones an object.
 boolean dupOrgInParent()
           
 java.util.ArrayList getApproverRefs()
          Get the list of approver object references for this role.
 WSUser[] getApprovers()
          Get an array of resolved approver objects for this group.
 java.util.List getAuditPolicies()
           
 java.util.List getAuditPolicyRefs()
           
 void getChildObjectGroupIds(java.util.List childogidlist)
          Similar to getChildObjectGroupNames, but builds a list of ids instead.
 void getChildObjectGroupIdsWithUserMemberRule(java.util.List childogidlist)
          Similar to getChildObjectGroupIds, but only returns child ObjectGroup Ids that reference a user member rule.
 void getChildObjectGroupNames(java.util.List childognamelist)
          For this ObjectGroup, the method will find all child object groups (e.g.
 void getChildObjectGroupNamesWithUserMemberRule(java.util.List childognamelist)
          Similar to getChildObjectGroupNames, but only returns child ObjectGroup Names that reference a user member rule.
 void getChildObjectGroupPathNames(java.util.List childogpathnamelist)
          Similar to getChildObjectGroupNames, but builds a list of pathnames instead.
 void getChildObjectGroupPathNamesWithUserMemberRule(java.util.List childogpathnamelist)
          Similar to getChildObjectGroupNames, but only returns child ObjectGroup Names that reference a user member rule.
 void getChildObjectGroups(java.util.List childoglist)
          Similar to getChildObjectGroupNames, but builds a list of objects instead.
 void getChildObjectGroupsWithUserMemberRule(java.util.List childoglist)
          Similar to getChildObjectGroups, but only returns child ObjectGroups that reference a user member rule.
 com.waveset.object.ObjectRef getCustomForm(java.lang.String key)
          Get the ObjectRef for a particular key in the per-user custom form list.
 java.util.List getCustomFormKeys()
          Return the keys for all the custom forms currently held by Principal.
 void getDirectChildObjectGroupIds(java.util.List childogidlist)
          Similar to getChildObjectGroupIds, but returns only child object group ids whose parent is this object group
 void getDirectChildObjectGroupIdsWithUserMemberRule(java.util.List childogidlist)
          Similar to getDirectChildObjectGroupIds, but only returns child ObjectGroup Ids that reference a user member rule.
 java.lang.String getDisplayableName()
          Override this to return the path which is what we really want to display for orgs.
static PersistentObject.InitialInstance[] getInitialInstances()
           
static java.util.List getMemberObjectGroupDisplayNames(ObjectSource objSrc, PersistentObject po)
          Return a list of displayNames of the member object groups of the PersistentObject parameter.
static java.util.List getMemberObjectGroupNames(ObjectSource objSrc, PersistentObject po)
          Return a List of String where the Strings are names of the member object groups of the PersistentObject parameter.
static java.util.List getMemberObjectGroupPaths(ObjectSource objSrc, PersistentObject po)
          Return a list of paths of the member object groups of the PersistentObject parameter.
 java.lang.String getName()
          Return the name of this object.
static java.lang.String getObjectGroupHandle(ObjectSource objSrc, com.waveset.object.ObjectRef ref)
          Return the org path or displayName for the given object reference.
static java.util.List getObjectGroupHandles(ObjectSource objSrc, java.util.List objectRefs)
          Return a list of org paths or displayNames for the given list of object references.
static com.waveset.object.ObjectRef getObjectGroupRef(ObjectSource objSrc, java.lang.String orgHandle)
          Takes an orgHandles (either name, path, or displayname) and returns a formal object reference.
static java.util.List getObjectGroupRefs(ObjectSource objSrc, java.util.List orgList)
          Takes a list of orgHandles (either names, paths, or displaynames) and returns a list of formal object references.
static java.lang.String getOrganizationPath(ObjectSource objSrc, ObjectGroup group)
           
static java.util.List getOrganizationPathList(ObjectSource objSrc, ObjectGroup group, boolean returnIDs)
          Build a list of names or IDs from the given organization back to the top containing the names of each intermediate object groups.
 java.lang.String[] getPath()
           
 java.lang.String[] getPath(boolean returnIDs)
           
 java.lang.String[] getPathAsIDs()
           
 java.lang.String getPathString()
          Return the organization path as a string of path elements seperated by colons.
 java.util.List getPolicies()
           
 java.util.List getPolicyRefs()
           
 com.sun.idm.object.IDMObjectClass getPrimaryObjectClass()
           
 java.util.ArrayList getReferences()
          Return the list of references within this object.
 ObjectGroup.ResourceContainerInfo getResourceContainerInfo()
           
static java.util.List getTopControlledObjectGroups(LighthouseContext lc, Subject subject)
          Returns the set of 0 or more object groups controlled by the given Subject, each of which has no object group parent that is also controlled by the principal.
 com.waveset.object.Type getType()
          Return the type of this object.
 com.waveset.object.Configuration getUserForm()
           
 java.lang.String getUserFormId()
           
 com.waveset.object.ObjectRef getUserFormRef()
           
 java.lang.String getUserMembersRuleCacheTimeout()
          If resource objects queries are to be cached, this option specifies the number of milliseconds before the cache times out.
 com.waveset.object.ObjectRef getUserMembersRuleRef()
           
 com.waveset.object.Configuration getViewUserForm()
           
 java.lang.String getViewUserFormId()
           
 com.waveset.object.ObjectRef getViewUserFormRef()
           
 boolean isJunction()
           
 boolean isVirtual()
           
 java.util.List listQueryableAttributes()
           
 java.util.List listSummaryAttributes()
          Returns the complete list of defined attributes that this type of persistent object exposes as summary attributes (regardless of whether this particular object has a value for each).
static void normalizeObjectGroup(com.waveset.object.ObjectCache cache, ObjectGroup org)
           
static void normalizeObjectGroup(ObjectSource objSrc, ObjectGroup org)
          Update the path (from the top of the organization hierarchy) for the specified object group.
 void prepareForSerialization()
          Overrides PersistentObject to ensure that our "pathname" within the organization hierarchy is up-to-date before this object is serialized (i.e., stored persistently).
 void setAuditPolicyRef(com.waveset.object.ObjectRef ref)
           
 void setAuditPolicyRefs(java.util.List policies)
           
 void setCache(com.waveset.object.ObjectCache c)
          Overridden from PersistentObject to invalidate our path string cache - if the cache is changing, the path to top may change.
 void setCustomForm(java.lang.String key, com.waveset.object.ObjectRef form)
          Set a name and (Form) ObjectRef pair on the object.
 void setPath(java.lang.String[] path)
           
 void setPathAsIDs(java.lang.String[] IDPath)
           
 void setPolicyRef(com.waveset.object.ObjectRef ref)
           
 void setPolicyRefs(java.util.List policies)
           
 void setResourceContainerInfo(ObjectGroup.ResourceContainerInfo resourceContainerInfo)
           
 void setUseOrgDisplayNames(boolean val)
           
 void setUserForm(com.waveset.object.Configuration userForm)
           
 void setUserFormRef(com.waveset.object.ObjectRef userFormRef)
           
 void setUserMembersRuleCacheTimeout(java.lang.String userMembersRuleCacheTimeout)
           
 void setUserMembersRuleRef(com.waveset.object.ObjectRef userMembersRuleRef)
           
 void setViewUserForm(com.waveset.object.Configuration viewUserForm)
           
 void setViewUserFormRef(com.waveset.object.ObjectRef viewUserFormRef)
           
static java.lang.String stripPath(java.lang.String path)
          Given an organization name in "path" form, remove the path prefix.
static boolean useOrgDisplayNames(ObjectSource objSrc)
           
 void visit(com.waveset.object.Visitor v)
          Visitor interface.
 
Methods inherited from class com.waveset.object.PersistentObject
addMemberObjectGroup, addMemberObjectGroup, addXmlHeader, attributesMatch, attributesMatch, attributesMatch, checkReference, checkReferences, clearId, cloneAs, compareTo, create, create, create, create, createLastModItem, createLastModItem, createLastModItemList, directObjectGroupMember, dump, dumpFile, equals, getAttribute, getAttributeValues, getAuthReferences, getAuthType, getBasicAttributes, getBasicAttributes, getBasicAttributes, getCache, getCounterValue, getCreateDate, getCreator, getDisplayName, getElementName, getEncryptedValues, getId, getIdOrName, getLastMod, getLastModDate, getLastModifier, getLastModItemId, getLockInfo, getMemberObjectGroupRefs, getMemberObjectGroupRefsUpTo, getMemberObjectGroups, getNameOrId, getProperties, getProperty, getPropertyAsString, getPropertyList, getQueryableAttributes, getReference, getRepositoryMod, getRuleDrivenMemberObjectGroupRefs, getRuleDrivenMemberObjectGroupRefsUpTo, getRuleDrivenMemberObjectGroups, getSubtype, getSummaryAttributes, getSummaryString, getXMLSize, hasEncryptedData, hashCode, identityEquals, isAlias, isHidden, isProtected, isProtectedFromDelete, isReferencedIn, listOperationalAttributes, listQueryableReferenceAttributes, objectGroupMember, objectGroupMemberRef, prepareToSerialize, reEncrypt, removeMemberObjectGroup, removeProperty, resolve, resolve, resolve, resolveArray, resolveArrayByFetching, resolveObjectReferences, resolveReference, resolveSummaryAttributes, resolveSummaryAttributes, ruleDrivenObjectGroupMemberRef, setAuthType, setAuthType, setDisplayName, setDisplayName, setHidden, setIsAlias, setMemberObjectGroupRef, setMemberObjectGroupRefs, setMemberObjectGroups, setName, setProperties, setProperty, setPropertyList, setRuleDrivenMembersCache, setSubtype, setTrace, toString, toXml, toXml, toXml, toXmlFile
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

All

public static ObjectGroup All

code_id

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

Top

public static ObjectGroup Top
Constructor Detail

ObjectGroup

public ObjectGroup()

ObjectGroup

public ObjectGroup(org.w3c.dom.Element e)
            throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

ObjectGroup

public ObjectGroup(ObjectGroup src)
            throws com.waveset.util.WavesetException
Clone the object, cloning the object refs to remove any resolved refs that might not belong to the new object's cache. This is a "shallow" copy, modelled on the ObjectRef copy.

Throws:
com.waveset.util.WavesetException

ObjectGroup

public ObjectGroup(java.lang.String name)
Method Detail

addApprover

public void addApprover(com.waveset.object.ObjectRef ref)
Add one approver to our approver list.

These should be administrators with APPROVAL rights. Can't check that here, it will have to be done as part of the Checkin validator. The GUI currently tries to prevent selection of bad values.


addApprover

public void addApprover(WSUser admin)
Add one approver to our approver list.

These should be administrators with APPROVAL rights. Can't check that here, it will have to be done as part of the Checkin validator. The GUI currently tries to prevent selection of bad values.

If you want to specify a completely new list, call clearApprovers first.

See Also:
clearApprovers()

addAuditPolicyRef

public void addAuditPolicyRef(com.waveset.object.ObjectRef ref)

addPolicyRef

public void addPolicyRef(com.waveset.object.ObjectRef ref)

clearApprovers

public void clearApprovers()
Clear the approvers list.


cloneObject

public PersistentObject cloneObject()
                             throws com.waveset.util.WavesetException
Description copied from class: PersistentObject
Clones an object.

We don't overload the java.lang.Object.clone method because it can't throw any exceptions, and there is the potential for deserialization errors here (though I suppose we could throw an unchecked exceptions).

The clone is done using the XML serialization that all PersistentObjects must support. It would probably be more efficient to implement java.lang.Serializable, but that's another serialization format that would have to be debugged. Since we have to support XML transforms anyway, just use that.

Overrides:
cloneObject in class PersistentObject
Returns:
an exact duplicate (a clone) of this object.

Overridden for speed because object groups are moved between caches a lot.

Throws:
com.waveset.util.WavesetException - if there were problems duplicating the object

dupOrgInParent

public boolean dupOrgInParent()
                       throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

getApproverRefs

public java.util.ArrayList getApproverRefs()
Get the list of approver object references for this role.

These are references to Administrators that are considered approvers for provisioning requests using this group.


getApprovers

public WSUser[] getApprovers()
                      throws com.waveset.util.WavesetException
Get an array of resolved approver objects for this group.

Throws:
com.waveset.util.WavesetException

getAuditPolicies

public java.util.List getAuditPolicies()
                                throws com.waveset.util.WavesetException
Returns:
a List of Audit Policy objects, resolved from getPolicyRefs
Throws:
com.waveset.util.WavesetException

getAuditPolicyRefs

public java.util.List getAuditPolicyRefs()

getChildObjectGroupIds

public void getChildObjectGroupIds(java.util.List childogidlist)
                            throws com.waveset.util.WavesetException
Similar to getChildObjectGroupNames, but builds a list of ids instead.

Throws:
com.waveset.util.WavesetException

getChildObjectGroupIdsWithUserMemberRule

public void getChildObjectGroupIdsWithUserMemberRule(java.util.List childogidlist)
                                              throws com.waveset.util.WavesetException
Similar to getChildObjectGroupIds, but only returns child ObjectGroup Ids that reference a user member rule.

Throws:
com.waveset.util.WavesetException

getChildObjectGroupNames

public void getChildObjectGroupNames(java.util.List childognamelist)
                              throws com.waveset.util.WavesetException
For this ObjectGroup, the method will find all child object groups (e.g. ObjectGroups that are direct or indirect members of this object group), get the name for each, add it to the list, and return the list. If there are no child object groups, null will be returned.

Inputs: - childognamelist - non-null list to be populated with child object group names

Throws:
com.waveset.util.WavesetException

getChildObjectGroupNamesWithUserMemberRule

public void getChildObjectGroupNamesWithUserMemberRule(java.util.List childognamelist)
                                                throws com.waveset.util.WavesetException
Similar to getChildObjectGroupNames, but only returns child ObjectGroup Names that reference a user member rule.

Throws:
com.waveset.util.WavesetException

getChildObjectGroupPathNames

public void getChildObjectGroupPathNames(java.util.List childogpathnamelist)
                                  throws com.waveset.util.WavesetException
Similar to getChildObjectGroupNames, but builds a list of pathnames instead.

Throws:
com.waveset.util.WavesetException

getChildObjectGroupPathNamesWithUserMemberRule

public void getChildObjectGroupPathNamesWithUserMemberRule(java.util.List childogpathnamelist)
                                                    throws com.waveset.util.WavesetException
Similar to getChildObjectGroupNames, but only returns child ObjectGroup Names that reference a user member rule.

Throws:
com.waveset.util.WavesetException

getChildObjectGroups

public void getChildObjectGroups(java.util.List childoglist)
                          throws com.waveset.util.WavesetException
Similar to getChildObjectGroupNames, but builds a list of objects instead.

Throws:
com.waveset.util.WavesetException

getChildObjectGroupsWithUserMemberRule

public void getChildObjectGroupsWithUserMemberRule(java.util.List childoglist)
                                            throws com.waveset.util.WavesetException
Similar to getChildObjectGroups, but only returns child ObjectGroups that reference a user member rule.

Throws:
com.waveset.util.WavesetException

getCustomForm

public com.waveset.object.ObjectRef getCustomForm(java.lang.String key)
Get the ObjectRef for a particular key in the per-user custom form list.

Parameters:
key - - index name of the form
Returns:
ObjectRef associated with key, or null

getCustomFormKeys

public java.util.List getCustomFormKeys()
Return the keys for all the custom forms currently held by Principal.

Returns:
List of names of all custom forms. If no custom forms are held an empty list is returned.

getDirectChildObjectGroupIds

public void getDirectChildObjectGroupIds(java.util.List childogidlist)
                                  throws com.waveset.util.WavesetException
Similar to getChildObjectGroupIds, but returns only child object group ids whose parent is this object group

Throws:
com.waveset.util.WavesetException

getDirectChildObjectGroupIdsWithUserMemberRule

public void getDirectChildObjectGroupIdsWithUserMemberRule(java.util.List childogidlist)
                                                    throws com.waveset.util.WavesetException
Similar to getDirectChildObjectGroupIds, but only returns child ObjectGroup Ids that reference a user member rule.

Throws:
com.waveset.util.WavesetException

getDisplayableName

public java.lang.String getDisplayableName()
Override this to return the path which is what we really want to display for orgs.

Overrides:
getDisplayableName in class PersistentObject

getInitialInstances

public static final PersistentObject.InitialInstance[] getInitialInstances()

getMemberObjectGroupDisplayNames

public static java.util.List getMemberObjectGroupDisplayNames(ObjectSource objSrc,
                                                              PersistentObject po)
                                                       throws com.waveset.util.WavesetException
Return a list of displayNames of the member object groups of the PersistentObject parameter. The names are scoped to the current administrator/user.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getMemberObjectGroupNames

public static java.util.List getMemberObjectGroupNames(ObjectSource objSrc,
                                                       PersistentObject po)
                                                throws com.waveset.util.WavesetException
Return a List of String where the Strings are names of the member object groups of the PersistentObject parameter. The names are scoped to the current administrator/user.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getMemberObjectGroupPaths

public static java.util.List getMemberObjectGroupPaths(ObjectSource objSrc,
                                                       PersistentObject po)
                                                throws com.waveset.util.WavesetException
Return a list of paths of the member object groups of the PersistentObject parameter. The paths are scoped to the current administrator/user.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getName

public java.lang.String getName()
Description copied from class: PersistentObject
Return the name of this object.

Overrides:
getName in class PersistentObject

getObjectGroupHandle

public static java.lang.String getObjectGroupHandle(ObjectSource objSrc,
                                                    com.waveset.object.ObjectRef ref)
                                             throws com.waveset.util.WavesetException
Return the org path or displayName for the given object reference. If the configuration object for #useOrgDisplayNames is true, the handle will be an org displayName, otherwise it will be an org path.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getObjectGroupHandles

public static java.util.List getObjectGroupHandles(ObjectSource objSrc,
                                                   java.util.List objectRefs)
                                            throws com.waveset.util.WavesetException
Return a list of org paths or displayNames for the given list of object references. If the configuration object for #useOrgDisplayNames is true, the handles will be org displayNames, otherwise they will be org paths.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getObjectGroupRef

public static com.waveset.object.ObjectRef getObjectGroupRef(ObjectSource objSrc,
                                                             java.lang.String orgHandle)
                                                      throws com.waveset.util.WavesetException
Takes an orgHandles (either name, path, or displayname) and returns a formal object reference.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
orgHandle - - an object group identifier (e.g., name, path or displayName).
Returns:
an object reference to the object group.
Throws:
com.waveset.util.WavesetException

getObjectGroupRefs

public static java.util.List getObjectGroupRefs(ObjectSource objSrc,
                                                java.util.List orgList)
                                         throws com.waveset.util.WavesetException
Takes a list of orgHandles (either names, paths, or displaynames) and returns a list of formal object references.

Parameters:
objSrc - - an ObjectSource used to resolve object references.
orgList - - a list of org handles (names, paths or displayNames).
Returns:
a list of object references to organizations.
Throws:
com.waveset.util.WavesetException

getOrganizationPath

public static java.lang.String getOrganizationPath(ObjectSource objSrc,
                                                   ObjectGroup group)
                                            throws com.waveset.util.WavesetException
Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getOrganizationPathList

public static java.util.List getOrganizationPathList(ObjectSource objSrc,
                                                     ObjectGroup group,
                                                     boolean returnIDs)
                                              throws com.waveset.util.WavesetException
Build a list of names or IDs from the given organization back to the top containing the names of each intermediate object groups.

Assumes that object groups can have only a single parent object group and therefore every object group will have a single unique fully qualified path from Top or All.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

getPath

public java.lang.String[] getPath()
                           throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

getPath

public java.lang.String[] getPath(boolean returnIDs)
                           throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

getPathAsIDs

public java.lang.String[] getPathAsIDs()

getPathString

public java.lang.String getPathString()
Return the organization path as a string of path elements seperated by colons. This is the format typically used in the GUI.

TODO: Support an option to filter out organization names that the user is not authorized to see. This probably can't be done at this level? - jsl


getPolicies

public java.util.List getPolicies()
                           throws com.waveset.util.WavesetException
Returns:
a List of Policy objects, resolved from getPolicyRefs
Throws:
com.waveset.util.WavesetException

getPolicyRefs

public java.util.List getPolicyRefs()

getPrimaryObjectClass

public com.sun.idm.object.IDMObjectClass getPrimaryObjectClass()
Overrides:
getPrimaryObjectClass in class PersistentObject
Returns:
primary object class for this persistent object, possibly null.

getReferences

public java.util.ArrayList getReferences()
Return the list of references within this object.

Overrides:
getReferences in class PersistentObject

getResourceContainerInfo

public ObjectGroup.ResourceContainerInfo getResourceContainerInfo()

getTopControlledObjectGroups

public static java.util.List getTopControlledObjectGroups(LighthouseContext lc,
                                                          Subject subject)
                                                   throws com.waveset.util.WavesetException
Returns the set of 0 or more object groups controlled by the given Subject, each of which has no object group parent that is also controlled by the principal.

Throws:
com.waveset.util.WavesetException

getType

public com.waveset.object.Type getType()
Description copied from class: PersistentObject
Return the type of this object. This must be implemented by each subclass.

Specified by:
getType in class PersistentObject
Returns:
type of this persistent object.

getUserForm

public com.waveset.object.Configuration getUserForm()
                                             throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

getUserFormId

public java.lang.String getUserFormId()

getUserFormRef

public com.waveset.object.ObjectRef getUserFormRef()

getUserMembersRuleCacheTimeout

public java.lang.String getUserMembersRuleCacheTimeout()
If resource objects queries are to be cached, this option specifies the number of milliseconds before the cache times out. When the cache times out, the objects will automatically be retrieved from the resource the next time they are requested


getUserMembersRuleRef

public com.waveset.object.ObjectRef getUserMembersRuleRef()

getViewUserForm

public com.waveset.object.Configuration getViewUserForm()
                                                 throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

getViewUserFormId

public java.lang.String getViewUserFormId()

getViewUserFormRef

public com.waveset.object.ObjectRef getViewUserFormRef()

isJunction

public boolean isJunction()

isVirtual

public boolean isVirtual()

listQueryableAttributes

public java.util.List listQueryableAttributes()
Overrides:
listQueryableAttributes in class PersistentObject
Returns:
the complete list of defined attributes that this type of persistent object exposes as queryable (regardless of whether this particular object has a value for each).

Any subclass of PersistentObject that overrides this method should first invoke super.listQueryableAttributes() to ensure that the subclass includes queryable attributes that are common to all PersistentObjects.


listSummaryAttributes

public java.util.List listSummaryAttributes()
Description copied from class: PersistentObject
Returns the complete list of defined attributes that this type of persistent object exposes as summary attributes (regardless of whether this particular object has a value for each).

Any subclass of PersistentObject that overrides this method should first invoke super.listSummaryAttributes() to ensure that the subclass includes summary attributes that are common to all PersistentObjects.

Any subclass that overrides this implementation must also consider the length of the summary string that will be generated from these attributes.

Overrides:
listSummaryAttributes in class PersistentObject
Returns:
the complete list of defined attributes that this this type persistent object exposes as summary attributes (regardless of whether this particular object has a value for each).

Any subclass of PersistentObject that overrides this method should first invoke super.getSummaryAttributes() to ensure that the subclass includes summary attributes that are common to all PersistentObjects.

See Also:
Constants.MAX_SUMMARY_STRING_LENGTH, PersistentObject.getSummaryString()

normalizeObjectGroup

public static void normalizeObjectGroup(com.waveset.object.ObjectCache cache,
                                        ObjectGroup org)
                                 throws com.waveset.util.WavesetException
Throws:
com.waveset.util.WavesetException

normalizeObjectGroup

public static void normalizeObjectGroup(ObjectSource objSrc,
                                        ObjectGroup org)
                                 throws com.waveset.util.WavesetException
Update the path (from the top of the organization hierarchy) for the specified object group.

Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Throws:
com.waveset.util.WavesetException

prepareForSerialization

public void prepareForSerialization()
                             throws com.waveset.util.WavesetException
Overrides PersistentObject to ensure that our "pathname" within the organization hierarchy is up-to-date before this object is serialized (i.e., stored persistently). Otherwise, PersistentObject.getQueryableAttributes() may expose an incorrect value for CONTAINED_BY_OBJECT_GROUP.

Since we must resolve object references in order to do this, we have to do it in this method (while we have an ObjectCache).

Overrides:
prepareForSerialization in class PersistentObject
Throws:
com.waveset.util.WavesetException

setAuditPolicyRef

public void setAuditPolicyRef(com.waveset.object.ObjectRef ref)

setAuditPolicyRefs

public void setAuditPolicyRefs(java.util.List policies)

setCache

public void setCache(com.waveset.object.ObjectCache c)
Overridden from PersistentObject to invalidate our path string cache - if the cache is changing, the path to top may change.

Overrides:
setCache in class PersistentObject
Parameters:
c - - an object cache

setCustomForm

public void setCustomForm(java.lang.String key,
                          com.waveset.object.ObjectRef form)
Set a name and (Form) ObjectRef pair on the object. These are used by parts of IdM that need per-user customizations of Forms. Specific examples are the attestation and remediation list viewers, which allow an IdM user to specify a specific form to be used when viewing the list of WorkItems. This method is used to support the binding of arbitrary name/ObjectRef pairs to the Principal (and thus the WSUser object).

Parameters:
key - - the index name of the form
form - - object ref of the form

setPath

public void setPath(java.lang.String[] path)

setPathAsIDs

public void setPathAsIDs(java.lang.String[] IDPath)

setPolicyRef

public void setPolicyRef(com.waveset.object.ObjectRef ref)

setPolicyRefs

public void setPolicyRefs(java.util.List policies)

setResourceContainerInfo

public void setResourceContainerInfo(ObjectGroup.ResourceContainerInfo resourceContainerInfo)

setUseOrgDisplayNames

public void setUseOrgDisplayNames(boolean val)

setUserForm

public void setUserForm(com.waveset.object.Configuration userForm)

setUserFormRef

public void setUserFormRef(com.waveset.object.ObjectRef userFormRef)

setUserMembersRuleCacheTimeout

public void setUserMembersRuleCacheTimeout(java.lang.String userMembersRuleCacheTimeout)

setUserMembersRuleRef

public void setUserMembersRuleRef(com.waveset.object.ObjectRef userMembersRuleRef)

setViewUserForm

public void setViewUserForm(com.waveset.object.Configuration viewUserForm)

setViewUserFormRef

public void setViewUserFormRef(com.waveset.object.ObjectRef viewUserFormRef)

stripPath

public static java.lang.String stripPath(java.lang.String path)
Given an organization name in "path" form, remove the path prefix.


useOrgDisplayNames

public static boolean useOrgDisplayNames(ObjectSource objSrc)
                                  throws com.waveset.util.WavesetException
Parameters:
objSrc - - an ObjectSource such as a ViewMaster or LighthouseContext.
Returns:
true if SystemConfiguration specifies that object groups should use display names. Otherwise, if object groups should use organization paths, return false.

Throws:
com.waveset.util.WavesetException

visit

public void visit(com.waveset.object.Visitor v)
           throws com.waveset.util.WavesetException
Visitor interface.

Overrides:
visit in class PersistentObject
Parameters:
v - Visitor for this persistent object.
Throws:
com.waveset.util.WavesetException - if there's a problem from visitPersistentObject