public class RelationGraph extends Object
Modifier and Type | Field and Description |
---|---|
static int |
RECURSIVE_LEVEL_LIMIT |
Constructor and Description |
---|
RelationGraph()
Create a new graph with default settings.
|
Modifier and Type | Method and Description |
---|---|
RelationGraph |
assignChildLevels(long theChildLevels)
sets the maximum number of child levels to include in the graph
|
RelationGraph |
assignIncludeGroupsInMemberCounts(boolean includeGroupsInMemberCounts)
flags whether to include groups in the count of group members
|
RelationGraph |
assignMaxSiblings(long theMaxSiblings)
The maximum number of objects of the same type to add as parents/children, or
a value zero or less to include all objects.
|
RelationGraph |
assignParentLevels(long theParentLevels)
sets the maximum number of parent levels to include in the graph
|
RelationGraph |
assignShowAllMemberCounts(boolean theShowAllMemberCounts)
flags whether to count memberships (direct and indirect) for groups
|
RelationGraph |
assignShowDirectMemberCounts(boolean theShowDirectMemberCounts)
flags whether to count direct memberships for groups
|
RelationGraph |
assignShowLoaderJobs(boolean theShowLoaderJobs)
flags whether to show the loader jobs that populate groups
|
RelationGraph |
assignShowObjectTypes(boolean theShowObjectTypes)
flags whether to show the object type strings (e.g.
|
RelationGraph |
assignShowProvisionTargets(boolean theShowProvisionTargets)
flags whether to show provisioner targets.
|
RelationGraph |
assignShowStems(boolean theShowStems)
flags whether to show stems
|
RelationGraph |
assignSkipFolderNamePatterns(Set<String> theSkipFolderNamePatterns)
Assigns patterns for stem names to be filtered out.
|
RelationGraph |
assignSkipGroupNamePatterns(Set<String> theSkipGroupNamePatterns)
Assigns patterns for group names to be filtered out.
|
RelationGraph |
assignStartObject(GrouperObject theStartObject)
sets the
GrouperObject object to serve as the starting point of the graph |
RelationGraph |
assignStartObject(Subject theStartSubject)
sets the start object from a subject, by converting to a
GrouperObjectSubjectWrapper |
void |
build()
Builds the directed graph.
|
long |
getChildLevels()
returns the number of child levels to include in the graph
|
long |
getDirectMemberCount()
after building, the total of all direct memberships in all groups
|
Set<GraphEdge> |
getEdges()
after building, returns the set of all edges
|
Set<GraphNode> |
getLeafChildNodes()
returns all the bottom level child nodes (nodes with no children)
|
Set<GraphNode> |
getLeafParentNodes()
returns all the top level parent nodes (nodes with no parents)
|
long |
getMaxChildDistance()
After building, returns the highest child distance from the starting node.
|
long |
getMaxParentDistance()
After building, returns the highest parent distance from the starting node.
|
long |
getMaxSiblings()
returns the maximum number of objects of the same type to be included as
parents or children of an object
|
GraphNode |
getNode(GrouperObject object)
retrieve a graph node based on its contained Grouper object
|
Collection<GraphNode> |
getNodes()
after building, returns the set of all nodes
|
long |
getNumGroupsFromLoaders()
after building, returns how many groups have memberships loaded from loader jobs
|
long |
getNumGroupsToProvisioners()
after building, returns how many groups have one or more provisioner targets
|
long |
getNumLoaders()
after building, returns how many loader jobs were encountered
|
long |
getNumProvisioners()
after building, returns how many distinct provisioners were encountered
|
long |
getNumSkippedFolders()
after building, returns how many folders were skipped as the result of filters
|
long |
getNumSkippedGroups()
after building, returns how many groups were skipped as the result of filters
|
Set<String> |
getObjectTypesUsed()
keep track of which types are used for legend
|
long |
getParentLevels()
returns the number of parent levels to include in the graph
|
Set<String> |
getSkipFolderNamePatterns()
returns the filters for stems when building the graph
|
Set<String> |
getSkipGroupNamePatterns()
returns the filters for stems when building the graph
|
static AttributeDefName |
getSqlLoaderAttributeDefName()
should be only useful for
GraphNode nodes needing the sql loader attribute within the
context of the user session |
GraphNode |
getStartNode()
The initializing object for the object, wrapped in a node
|
long |
getTotalMemberCount()
after building, the total of all memberships in all groups
|
boolean |
isIncludeGroupsInMemberCounts()
returns whether to include groups in the count of group members
|
boolean |
isShowAllMemberCounts()
returns whether memberships are counted for Group nodes
|
boolean |
isShowDirectMemberCounts()
returns whether direct memberships are counted for Group nodes
|
boolean |
isShowLoaderJobs()
returns whether loader jobs should be included as graph nodes
|
boolean |
isShowObjectTypes()
returns whether to show object types for stems and groups
|
boolean |
isShowProvisionTargets()
returns whether provisioner targets should be included as graph nodes
|
boolean |
isShowStems()
returns whether stems should be included as graph nodes
|
public static final int RECURSIVE_LEVEL_LIMIT
public RelationGraph()
public RelationGraph assignStartObject(GrouperObject theStartObject)
GrouperObject
object to serve as the starting point of the graphtheStartObject
- Group, Stem, or GrouperObjectSubjectWrapper object to start the tree frompublic RelationGraph assignStartObject(Subject theStartSubject)
GrouperObjectSubjectWrapper
theStartSubject
- subject to start the tree frompublic RelationGraph assignParentLevels(long theParentLevels)
theParentLevels
- number of parent steps to include, or -1 to include all levelspublic RelationGraph assignChildLevels(long theChildLevels)
theChildLevels
- number of child steps to include, or -1 to include all levelspublic RelationGraph assignShowAllMemberCounts(boolean theShowAllMemberCounts)
theShowAllMemberCounts
- whether to count memberships for groupspublic RelationGraph assignShowDirectMemberCounts(boolean theShowDirectMemberCounts)
theShowDirectMemberCounts
- whether to count direct memberships for groupspublic RelationGraph assignShowObjectTypes(boolean theShowObjectTypes)
theShowObjectTypes
- whether to count direct memberships for groupspublic RelationGraph assignShowLoaderJobs(boolean theShowLoaderJobs)
theShowLoaderJobs
- whether to include loader jobspublic RelationGraph assignShowProvisionTargets(boolean theShowProvisionTargets)
theShowProvisionTargets
- whether to include provisioner targetspublic RelationGraph assignShowStems(boolean theShowStems)
theShowStems
- whether to include stemspublic RelationGraph assignIncludeGroupsInMemberCounts(boolean includeGroupsInMemberCounts)
includeGroupsInMemberCounts
- whether to consider groups when counting memberspublic RelationGraph assignSkipFolderNamePatterns(Set<String> theSkipFolderNamePatterns)
theSkipFolderNamePatterns
- the set of regular expressions to filter out matching stem namespublic RelationGraph assignSkipGroupNamePatterns(Set<String> theSkipGroupNamePatterns)
theSkipGroupNamePatterns
- the set of regular expressions to filter out matching group namespublic RelationGraph assignMaxSiblings(long theMaxSiblings)
theMaxSiblings
- the maximum number of sibling objects before filtering out additional onespublic long getParentLevels()
assignParentLevels(long)
public long getChildLevels()
assignChildLevels(long)
public boolean isShowAllMemberCounts()
assignShowAllMemberCounts(boolean)
public boolean isShowDirectMemberCounts()
assignShowDirectMemberCounts(boolean)
public boolean isShowObjectTypes()
assignShowObjectTypes(boolean)
public boolean isShowLoaderJobs()
assignShowLoaderJobs(boolean)
public boolean isShowProvisionTargets()
assignShowProvisionTargets(boolean)
public boolean isShowStems()
assignShowStems(boolean)
public boolean isIncludeGroupsInMemberCounts()
assignIncludeGroupsInMemberCounts(boolean)
public Set<String> getSkipFolderNamePatterns()
assignSkipFolderNamePatterns(Set)
public Set<String> getSkipGroupNamePatterns()
assignSkipGroupNamePatterns(Set)
public long getMaxSiblings()
assignMaxSiblings(long)
public GraphNode getStartNode()
public Set<GraphEdge> getEdges()
public Collection<GraphNode> getNodes()
public long getNumSkippedFolders()
public long getNumSkippedGroups()
public long getNumLoaders()
public long getNumGroupsFromLoaders()
public long getNumProvisioners()
public long getTotalMemberCount()
public long getDirectMemberCount()
public long getNumGroupsToProvisioners()
public long getMaxParentDistance()
public long getMaxChildDistance()
public Set<GraphNode> getLeafParentNodes()
public Set<GraphNode> getLeafChildNodes()
public GraphNode getNode(GrouperObject object)
object
- the Grouper object to querypublic void build()
public Set<String> getObjectTypesUsed()
public static AttributeDefName getSqlLoaderAttributeDefName()
GraphNode
nodes needing the sql loader attribute within the
context of the user sessionCopyright © 2016 Internet2. All rights reserved.