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,​ ?>>
    N
    getNodeAndCast​(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>>
    N
    register​(N node)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

      public java.util.Collection<Node<?,​?,​?>> getAllNodes()
    • getNode

      public Node<?,​?,​?> getNode​(java.lang.String nodeName)
    • 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

      public Node<?,​?,​?> findParent​(Node<?,​?,​?> node, java.lang.Class<?> requiredInterface)
    • getTopLevelNodes

      public java.util.SortedSet<Node<?,​?,​?>> getTopLevelNodes()