Class ReplicationNode

java.lang.Object
org.nuiton.topia.replication.model.ReplicationNode

public class ReplicationNode extends Object
Model of a replication's node. The invariant of a replication's node is his contract, means the type of entity to replicate.
Since:
2.2.0
Author:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • contract

      protected final org.nuiton.topia.persistence.TopiaEntityEnum contract
      contract of entity of the node.
    • operator

      protected final org.nuiton.topia.persistence.util.EntityOperator<? super org.nuiton.topia.persistence.TopiaEntity> operator
      entity operator.
    • shell

      protected Set<ReplicationNode> shell
      shell of the node.
    • associations

      protected final Map<String, ReplicationNode> associations
      dictionnary of associations defined on the node (keys are association name, and values are target node).
    • associationsToDettach

      protected final Set<String> associationsToDettach
      names of association to dettach while replication.
    • dependencies

      protected final Map<String, ReplicationNode> dependencies
      compositions defined on the node (keys are association name, and values are target node).
    • dependenciesToDettach

      protected final Set<String> dependenciesToDettach
      names of dependency to dettach while replication.
    • operations

      protected final List<ReplicationOperationDef> operations
      operations to fire when replication pass on this node.
  • Constructor Details

    • ReplicationNode

      public ReplicationNode(org.nuiton.topia.persistence.TopiaEntityEnum contract)
  • Method Details

    • addAssociation

      public void addAssociation(String name, ReplicationNode node)
    • addOperation

      public void addOperation(int index, ReplicationOperationDef op)
    • addOperation

      public void addOperation(ReplicationOperationDef op)
    • setOperations

      public void setOperations(List<ReplicationOperationDef> operations)
    • getOperations

      public ReplicationOperationDef[] getOperations()
    • getUndoableOperations

      public ReplicationOperationDef[] getUndoableOperations()
    • hasAssociation

      public boolean hasAssociation()
    • hasAssociationsToDettach

      public boolean hasAssociationsToDettach()
    • getAssociationsDettached

      public String[] getAssociationsDettached(ReplicationNode node)
    • getDependenciesDettached

      public String[] getDependenciesDettached(ReplicationNode node)
    • hasDependenciesToDettach

      public boolean hasDependenciesToDettach()
    • hasDependency

      public boolean hasDependency()
    • addDependency

      public void addDependency(String name, ReplicationNode node)
    • addAssociationToDettach

      public void addAssociationToDettach(String key)
    • addDependencyToDettach

      public void addDependencyToDettach(String key)
    • getAssociations

      public Map<String, ReplicationNode> getAssociations()
    • getAssociationsToDettach

      public Set<String> getAssociationsToDettach()
    • getDependenciesToDettach

      public Set<String> getDependenciesToDettach()
    • getContract

      public org.nuiton.topia.persistence.TopiaEntityEnum getContract()
    • getEntityType

      public Class<? extends org.nuiton.topia.persistence.TopiaEntity> getEntityType()
    • getOperator

      public org.nuiton.topia.persistence.util.EntityOperator<? super org.nuiton.topia.persistence.TopiaEntity> getOperator()
    • getDependencies

      public Map<String, ReplicationNode> getDependencies()
    • getShell

      public Set<ReplicationNode> getShell()
    • setShell

      public void setShell(Set<ReplicationNode> shell)
    • sortOperations

      public void sortOperations()
      sort operation by their phase.
      See Also:
    • clearOperations

      public void clearOperations()
      Remove all operation of the node (for example when no data is associated with the type of the node, then no needed operations).
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object