Package io.datarouter.storage.node
Class DatarouterNodes
java.lang.Object
io.datarouter.storage.node.DatarouterNodes
@Singleton
public class DatarouterNodes
extends java.lang.Object
Nodes is a registry of all Nodes in a Datarouter. It ensures that no two nodes try to share the same name. It can be
used by Datarouter management features like a web page to browse all nodes in the system.
-
Method Summary
Modifier and Type Method Description Node<?,?,?>findParent(Node<?,?,?> node, java.lang.Class<?> requiredInterface)java.util.Collection<Node<?,?,?>>getAllNodes()Node<?,?,?>getNode(java.lang.String nodeName)<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, N extends Node<PK, D, ?>>
NgetNodeAndCast(java.lang.String nodeName)java.util.Map<java.lang.String,java.util.Map<java.lang.String,PhysicalNode<?,?,?>>>getPhysicalNodeByTableNameByClientName()PhysicalNode<?,?,?>getPhysicalNodeForClientAndTable(java.lang.String clientName, java.lang.String tableName)java.util.Collection<PhysicalNode<?,?,?>>getPhysicalNodesForClient(java.lang.String clientName)java.util.List<java.lang.String>getTableNamesForClient(java.lang.String clientName)java.util.SortedSet<Node<?,?,?>>getTopLevelNodes()java.util.Set<java.lang.Class<?>>getTypesForClient(java.lang.String clientName)<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>, N extends Node<PK, D, F>>
Nregister(N node)
-
Method Details
-
register
public <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>, N extends Node<PK, D, F>> N register(N node) -
getAllNodes
-
getNode
-
getNodeAndCast
public <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, N extends Node<PK, D, ?>> N getNodeAndCast(java.lang.String nodeName) -
getTypesForClient
public java.util.Set<java.lang.Class<?>> getTypesForClient(java.lang.String clientName) -
getPhysicalNodesForClient
public java.util.Collection<PhysicalNode<?,?,?>> getPhysicalNodesForClient(java.lang.String clientName) -
getTableNamesForClient
public java.util.List<java.lang.String> getTableNamesForClient(java.lang.String clientName) -
getPhysicalNodeForClientAndTable
public PhysicalNode<?,?,?> getPhysicalNodeForClientAndTable(java.lang.String clientName, java.lang.String tableName) -
getPhysicalNodeByTableNameByClientName
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,PhysicalNode<?,?,?>>> getPhysicalNodeByTableNameByClientName() -
findParent
-
getTopLevelNodes
-