Package cz.encircled.joiner.query.join
Class DefaultJoinGraphRegistry
- java.lang.Object
-
- cz.encircled.joiner.query.join.DefaultJoinGraphRegistry
-
- All Implemented Interfaces:
JoinGraphRegistry
public class DefaultJoinGraphRegistry extends Object implements JoinGraphRegistry
ConcurrentHashMap-based implementation ofJoinGraphRegistry- Author:
- Vlad on 15-Aug-16.
-
-
Constructor Summary
Constructors Constructor Description DefaultJoinGraphRegistry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<Object,List<JoinDescription>>getAllJoinGraphs(Class<?> clazz)List<JoinDescription>getJoinGraph(Class<?> clazz, Object name)voidregisterJoinGraph(Object graphName, Collection<JoinDescription> joins, Class<?>... rootClasses)Adds new join graph to the registry.voidregisterOrReplaceJoinGraph(Object graphName, Collection<JoinDescription> joins, Class<?>... rootClasses)Adds new join graph to the registry or replace an existing one.voidreplaceJoinGraph(Object graphName, Collection<JoinDescription> joins, Class<?>... rootClasses)Replace an existing join graph with a new one
-
-
-
Method Detail
-
registerJoinGraph
public void registerJoinGraph(Object graphName, Collection<JoinDescription> joins, Class<?>... rootClasses)
Description copied from interface:JoinGraphRegistryAdds new join graph to the registry.- Specified by:
registerJoinGraphin interfaceJoinGraphRegistry- Parameters:
graphName- graph unique name. Generally, any object may be used as a name, it should have correct hashCode method. String or enum is recommended.joins- associated joinsrootClasses- target class for a new join graph
-
replaceJoinGraph
public void replaceJoinGraph(Object graphName, Collection<JoinDescription> joins, Class<?>... rootClasses)
Description copied from interface:JoinGraphRegistryReplace an existing join graph with a new one- Specified by:
replaceJoinGraphin interfaceJoinGraphRegistry- Parameters:
graphName- graph unique name. Generally, any object may be used as a name, it should have correct hashCode method. String or enum is recommended.joins- associated joinsrootClasses- target class for a new join graph
-
registerOrReplaceJoinGraph
public void registerOrReplaceJoinGraph(Object graphName, Collection<JoinDescription> joins, Class<?>... rootClasses)
Description copied from interface:JoinGraphRegistryAdds new join graph to the registry or replace an existing one.- Specified by:
registerOrReplaceJoinGraphin interfaceJoinGraphRegistry- Parameters:
graphName- graph unique name. Generally, any object may be used as a name, it should have correct hashCode method. String or enum is recommended.joins- associated joinsrootClasses- target class for a new join graph
-
getJoinGraph
public List<JoinDescription> getJoinGraph(Class<?> clazz, Object name)
- Specified by:
getJoinGraphin interfaceJoinGraphRegistry- Parameters:
clazz- target classname- join graph name- Returns:
- collection of registered join graphs
-
getAllJoinGraphs
public Map<Object,List<JoinDescription>> getAllJoinGraphs(Class<?> clazz)
- Specified by:
getAllJoinGraphsin interfaceJoinGraphRegistry- Parameters:
clazz- target class- Returns:
- map of all registered join graphs
-
-