Interface EntityGraph
-
- All Known Implementing Classes:
EmptyEntityGraphImpl,EntityGraphImpl
public interface EntityGraphClass available toentity-filtering processorsproviding means to add/remove entity-filtering scopes (e.g. based on annotations) for entity members. Differences between this class andobject graph:EntityGraphcan be modified,ObjectGraphis read-only.EntityGraphcontains information about all entity-filtering scopes found during inspecting an entity class,ObjectGraphprovides information about entity to create a filtering object for a subset of these scopes (which are determined from the current context).
ScopeResolver.- See Also:
ScopeResolver
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description EntityGraphaddField(java.lang.String fieldName)Add a field into this graph for all existing entity-filtering scopes.EntityGraphaddField(java.lang.String fieldName, java.lang.String... filteringScopes)Add a field into this graph for given list of entity-filtering scopes.EntityGraphaddField(java.lang.String fieldName, java.util.Set<java.lang.String> filteringScopes)Add a field into this graph for given set of entity-filtering scopes.EntityGraphaddFilteringScopes(java.util.Set<java.lang.String> filteringScopes)Add a set of entity-filtering scopes to this graph.EntityGraphaddSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass)Add a subgraph into this graph for all existing entity-filtering scopes.EntityGraphaddSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass, java.lang.String... filteringScopes)Add a subgraph into this graph for given list of entity-filtering scopes.EntityGraphaddSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass, java.util.Set<java.lang.String> filteringScopes)Add a subgraph into this graph for given set of entity-filtering scopes.java.util.Set<java.lang.String>getClassFilteringScopes()Get all available entity-filtering scopes defined on a class.java.lang.Class<?>getEntityClass()Get an entity class this graph is created for.java.util.Set<java.lang.String>getFields(java.lang.String filteringScope)Get fields for given entity-filtering scope.java.util.Set<java.lang.String>getFields(java.lang.String... filteringScopes)Get fields for given entity-filtering scopes.java.util.Set<java.lang.String>getFields(java.util.Set<java.lang.String> filteringScopes)Get fields for given entity-filtering scopes.java.util.Set<java.lang.String>getFilteringScopes()Get all available entity-filtering scopes.java.util.Map<java.lang.String,java.lang.Class<?>>getSubgraphs(java.lang.String filteringScope)Get subgraphs for given entity-filtering scope.java.util.Map<java.lang.String,java.lang.Class<?>>getSubgraphs(java.lang.String... filteringScopes)Get subgraphs for given entity-filtering scopes.java.util.Map<java.lang.String,java.lang.Class<?>>getSubgraphs(java.util.Set<java.lang.String> filteringScopes)Get subgraphs for given entity-filtering scopes.booleanpresentInScope(java.lang.String field, java.lang.String filteringScope)Determines whether a field/subgraph is present in ANY of the given scopes.booleanpresentInScopes(java.lang.String field)Determines whether a field/subgraph is present in ANY of the existing scopes.EntityGraphremove(java.lang.String name)Remove a field/subgraph from the graph (all entity-filtering scopes).
-
-
-
Method Detail
-
addField
EntityGraph addField(java.lang.String fieldName)
Add a field into this graph for all existing entity-filtering scopes.- Parameters:
fieldName- name of the field to be added.- Returns:
- an entity-filtering graph instance.
-
addField
EntityGraph addField(java.lang.String fieldName, java.lang.String... filteringScopes)
Add a field into this graph for given list of entity-filtering scopes.- Parameters:
fieldName- name of the field to be added.filteringScopes- entity-filtering scopes for the field.- Returns:
- an entity-filtering graph instance.
-
addField
EntityGraph addField(java.lang.String fieldName, java.util.Set<java.lang.String> filteringScopes)
Add a field into this graph for given set of entity-filtering scopes.- Parameters:
fieldName- name of the field to be added.filteringScopes- entity-filtering scopes for the field.- Returns:
- an entity-filtering graph instance.
-
addSubgraph
EntityGraph addSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass)
Add a subgraph into this graph for all existing entity-filtering scopes.- Parameters:
fieldName- name of the subgraph field to be added.fieldClass- entity class representing the subgraph.- Returns:
- an entity-filtering graph instance.
-
addSubgraph
EntityGraph addSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass, java.lang.String... filteringScopes)
Add a subgraph into this graph for given list of entity-filtering scopes.- Parameters:
fieldName- name of the subgraph field to be added.fieldClass- entity class representing the subgraph.filteringScopes- entity-filtering scopes for the subgraph.- Returns:
- an entity-filtering graph instance.
-
addSubgraph
EntityGraph addSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass, java.util.Set<java.lang.String> filteringScopes)
Add a subgraph into this graph for given set of entity-filtering scopes.- Parameters:
fieldName- name of the subgraph field to be added.fieldClass- entity class representing the subgraph.filteringScopes- entity-filtering scopes for the subgraph.- Returns:
- an entity-filtering graph instance.
-
addFilteringScopes
EntityGraph addFilteringScopes(java.util.Set<java.lang.String> filteringScopes)
Add a set of entity-filtering scopes to this graph.- Parameters:
filteringScopes- entity-filtering scopes to be added.- Returns:
- an entity-filtering graph instance.
-
presentInScope
boolean presentInScope(java.lang.String field, java.lang.String filteringScope)Determines whether a field/subgraph is present in ANY of the given scopes. If no scopes are given the return value determines whether the field is present in any scope.- Parameters:
field- field to be checked.filteringScope- entity-filtering scope.- Returns:
trueif field is present in the given scope,falseotherwise.
-
presentInScopes
boolean presentInScopes(java.lang.String field)
Determines whether a field/subgraph is present in ANY of the existing scopes.- Parameters:
field- field to be checked.- Returns:
trueif field is present in ANY of the existing scopes,falseotherwise.
-
getEntityClass
java.lang.Class<?> getEntityClass()
Get an entity class this graph is created for.- Returns:
- an entity class.
-
getFields
java.util.Set<java.lang.String> getFields(java.lang.String filteringScope)
Get fields for given entity-filtering scope.- Parameters:
filteringScope- scope the returned fields have to be in.- Returns:
- set of fields present in given scope.
-
getFields
java.util.Set<java.lang.String> getFields(java.lang.String... filteringScopes)
Get fields for given entity-filtering scopes.- Parameters:
filteringScopes- scopes the returned fields have to be in.- Returns:
- set of fields present in given scopes.
-
getFields
java.util.Set<java.lang.String> getFields(java.util.Set<java.lang.String> filteringScopes)
Get fields for given entity-filtering scopes.- Parameters:
filteringScopes- scopes the returned fields have to be in.- Returns:
- set of fields present in given scopes.
-
getFilteringScopes
java.util.Set<java.lang.String> getFilteringScopes()
Get all available entity-filtering scopes.- Returns:
- all available entity-filtering scopes.
-
getClassFilteringScopes
java.util.Set<java.lang.String> getClassFilteringScopes()
Get all available entity-filtering scopes defined on a class.- Returns:
- all available entity-filtering scopes.
-
getSubgraphs
java.util.Map<java.lang.String,java.lang.Class<?>> getSubgraphs(java.lang.String filteringScope)
Get subgraphs for given entity-filtering scope.- Parameters:
filteringScope- scope the returned subgraphs have to be in.- Returns:
- map of subgraphs present in given scope.
-
getSubgraphs
java.util.Map<java.lang.String,java.lang.Class<?>> getSubgraphs(java.lang.String... filteringScopes)
Get subgraphs for given entity-filtering scopes.- Parameters:
filteringScopes- scopes the returned subgraphs have to be in.- Returns:
- map of subgraphs present in given scopes.
-
getSubgraphs
java.util.Map<java.lang.String,java.lang.Class<?>> getSubgraphs(java.util.Set<java.lang.String> filteringScopes)
Get subgraphs for given entity-filtering scopes.- Parameters:
filteringScopes- scopes the returned subgraphs have to be in.- Returns:
- map of subgraphs present in given scopes.
-
remove
EntityGraph remove(java.lang.String name)
Remove a field/subgraph from the graph (all entity-filtering scopes).- Parameters:
name- name of the field/subgraph to be removed.- Returns:
- an entity-filtering graph instance.
-
-