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.