public class GraphTraversal extends Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
GraphTraversal.PlanExecutor
Executor that allows callers to actually perform the planned action.
|
static interface |
GraphTraversal.Processor
Executes the planned operation.
|
| Constructor and Description |
|---|
GraphTraversal(org.hibernate.Session session,
EventContext eventContext,
ACLVoter aclVoter,
SystemTypes systemTypes,
GraphPathBean graphPathBean,
com.google.common.collect.SetMultimap<String,String> unnullable,
GraphPolicy policy,
GraphTraversal.Processor processor)
Deprecated.
from OMERO 5.4 the systemTypes argument is no longer included
|
| Modifier and Type | Method and Description |
|---|---|
void |
assertNoPolicyViolations()
Check that there are no policy violations matched by
p:error policy rules. |
void |
assertNoUnlinking()
Assert that
unlinkTargets(boolean) need not be called. |
com.google.common.collect.SetMultimap<String,Long> |
getLinkeds(String propertyValueClass,
String propertyName,
Long id)
Get the model objects that are linked to by the given object via the given property.
|
com.google.common.collect.SetMultimap<String,Long> |
getLinkers(String propertyValueClass,
String propertyName,
Long id)
Get the model objects that link to the given object via the given property.
|
Map.Entry<Collection<IObject>,Collection<IObject>> |
planOperation(org.hibernate.Session session,
Collection<? extends IObject> objectInstances,
boolean include,
boolean applyRules)
Deprecated.
from OMERO 5.4 the session argument is no longer included
|
Map.Entry<com.google.common.collect.SetMultimap<String,Long>,com.google.common.collect.SetMultimap<String,Long>> |
planOperation(org.hibernate.Session session,
com.google.common.collect.SetMultimap<String,Long> objects,
boolean include,
boolean applyRules)
Deprecated.
from OMERO 5.4 the session argument is no longer included
|
GraphTraversal.PlanExecutor |
processTargets()
Prepare to process the targeted model objects.
|
GraphTraversal.PlanExecutor |
unlinkTargets(boolean isUnlinkIncludeFromExclude)
Prepare to remove links between the targeted model objects and the remainder of the model object graph.
|
public GraphTraversal(org.hibernate.Session session,
EventContext eventContext,
ACLVoter aclVoter,
SystemTypes systemTypes,
GraphPathBean graphPathBean,
com.google.common.collect.SetMultimap<String,String> unnullable,
GraphPolicy policy,
GraphTraversal.Processor processor)
session - the Hibernate sessioneventContext - the current event contextaclVoter - ACL voter for permissions checkingsystemTypes - for identifying the system typesgraphPathBean - the graph path beanunnullable - properties that, while nullable, may not be nulled by a graph traversal operationpolicy - how to determine which related objects to include in the operationprocessor - how to operate on the resulting target object graphpublic Map.Entry<com.google.common.collect.SetMultimap<String,Long>,com.google.common.collect.SetMultimap<String,Long>> planOperation(org.hibernate.Session session, com.google.common.collect.SetMultimap<String,Long> objects, boolean include, boolean applyRules) throws GraphException
session - the Hibernate session to use for HQL queriesobjects - the model objects to processinclude - if the given model objects are to be included (instead of just deleted)applyRules - if the given model objects should have the policy rules applied to themGraphException - if the model objects were not as expectedpublic Map.Entry<Collection<IObject>,Collection<IObject>> planOperation(org.hibernate.Session session, Collection<? extends IObject> objectInstances, boolean include, boolean applyRules) throws GraphException
session - the Hibernate session to use for HQL queriesobjectInstances - the model objects to process, may be unloaded with ID onlyinclude - if the given model objects are to be included (instead of just deleted)applyRules - if the given model objects should have the policy rules applied to themGraphException - if the model objects were not as expectedpublic void assertNoPolicyViolations()
throws GraphException
p:error policy rules.GraphException - if the policy rules are violatedpublic void assertNoUnlinking()
throws GraphException
unlinkTargets(boolean) need not be called.GraphException - if any model objects are to be GraphPolicy.Action.DELETEdpublic GraphTraversal.PlanExecutor unlinkTargets(boolean isUnlinkIncludeFromExclude) throws GraphException
isUnlinkIncludeFromExclude - if GraphPolicy.Action.EXCLUDE objects must be unlinked from GraphPolicy.Action.INCLUDE objects
and vice versaGraphException - if the user does not have permission to unlink the targetspublic GraphTraversal.PlanExecutor processTargets() throws GraphException
GraphException - if the user does not have permission to process the targets or
if a cycle is detected in the model object graphpublic com.google.common.collect.SetMultimap<String,Long> getLinkeds(String propertyValueClass, String propertyName, Long id)
propertyValueClass - the full name of the model class that declares the given propertypropertyName - a property name, may be nestedid - the ID of the model object doing the linkingnullpublic com.google.common.collect.SetMultimap<String,Long> getLinkers(String propertyValueClass, String propertyName, Long id)
propertyValueClass - the full name of the model class that declares the given propertypropertyName - a property name, may be nestedid - the ID of the model object being linked tonull
Version: 5.3.4-ice35-b69
Copyright © 2017 The University of Dundee & Open Microscopy Environment. All Rights Reserved.