public interface EntityGraph
entity-filtering processors providing means to add/remove entity-filtering scopes
(e.g. based on annotations) for entity members.
Differences between this class and object graph:
EntityGraph can be modified, ObjectGraph is read-only.EntityGraph contains information about all entity-filtering scopes found during inspecting an entity class,
ObjectGraph provides information about entity to create a filtering object for a subset of these scopes
(which are determined from the current context).ScopeResolver.ScopeResolver| Modifier and Type | Method and Description |
|---|---|
EntityGraph |
addField(java.lang.String fieldName)
Add a field into this graph for all existing entity-filtering scopes.
|
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.
|
EntityGraph |
addField(java.lang.String fieldName,
java.lang.String... filteringScopes)
Add a field into this graph for given list of entity-filtering scopes.
|
EntityGraph |
addFilteringScopes(java.util.Set<java.lang.String> filteringScopes)
Add a set of entity-filtering scopes to this graph.
|
EntityGraph |
addSubgraph(java.lang.String fieldName,
java.lang.Class<?> fieldClass)
Add a subgraph into this graph for all existing entity-filtering scopes.
|
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.
|
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.
|
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.util.Set<java.lang.String> filteringScopes)
Get fields for given entity-filtering scopes.
|
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.lang.String filteringScope)
Get fields for given entity-filtering scope.
|
java.util.Set<java.lang.String> |
getFilteringScopes()
Get all available 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.
|
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.lang.String filteringScope)
Get subgraphs for given entity-filtering scope.
|
boolean |
presentInScope(java.lang.String field,
java.lang.String filteringScope)
Determines whether a field/subgraph is present in ANY of the given scopes.
|
boolean |
presentInScopes(java.lang.String field)
Determines whether a field/subgraph is present in ANY of the existing scopes.
|
EntityGraph |
remove(java.lang.String name)
Remove a field/subgraph from the graph (all entity-filtering scopes).
|
EntityGraph addField(java.lang.String fieldName)
fieldName - name of the field to be added.EntityGraph addField(java.lang.String fieldName, java.lang.String... filteringScopes)
fieldName - name of the field to be added.filteringScopes - entity-filtering scopes for the field.EntityGraph addField(java.lang.String fieldName, java.util.Set<java.lang.String> filteringScopes)
fieldName - name of the field to be added.filteringScopes - entity-filtering scopes for the field.EntityGraph addSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass)
fieldName - name of the subgraph field to be added.fieldClass - entity class representing the subgraph.EntityGraph addSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass, java.lang.String... filteringScopes)
fieldName - name of the subgraph field to be added.fieldClass - entity class representing the subgraph.filteringScopes - entity-filtering scopes for the subgraph.EntityGraph addSubgraph(java.lang.String fieldName, java.lang.Class<?> fieldClass, java.util.Set<java.lang.String> filteringScopes)
fieldName - name of the subgraph field to be added.fieldClass - entity class representing the subgraph.filteringScopes - entity-filtering scopes for the subgraph.EntityGraph addFilteringScopes(java.util.Set<java.lang.String> filteringScopes)
filteringScopes - entity-filtering scopes to be added.boolean presentInScope(java.lang.String field,
java.lang.String filteringScope)
field - field to be checked.filteringScope - entity-filtering scope.true if field is present in the given scope, false otherwise.boolean presentInScopes(java.lang.String field)
field - field to be checked.true if field is present in ANY of the existing scopes, false otherwise.java.lang.Class<?> getEntityClass()
java.util.Set<java.lang.String> getFields(java.lang.String filteringScope)
filteringScope - scope the returned fields have to be in.java.util.Set<java.lang.String> getFields(java.lang.String... filteringScopes)
filteringScopes - scopes the returned fields have to be in.java.util.Set<java.lang.String> getFields(java.util.Set<java.lang.String> filteringScopes)
filteringScopes - scopes the returned fields have to be in.java.util.Set<java.lang.String> getFilteringScopes()
java.util.Set<java.lang.String> getClassFilteringScopes()
java.util.Map<java.lang.String,java.lang.Class<?>> getSubgraphs(java.lang.String filteringScope)
filteringScope - scope the returned subgraphs have to be in.java.util.Map<java.lang.String,java.lang.Class<?>> getSubgraphs(java.lang.String... filteringScopes)
filteringScopes - scopes the returned subgraphs have to be in.java.util.Map<java.lang.String,java.lang.Class<?>> getSubgraphs(java.util.Set<java.lang.String> filteringScopes)
filteringScopes - scopes the returned subgraphs have to be in.EntityGraph remove(java.lang.String name)
name - name of the field/subgraph to be removed.