Class ReplicationModel

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

public class ReplicationModel extends Object
Model of replication. the object contains the required nodes to replicate :
  • all entities for the given nodes if flag replicateAll is setted to true
  • the entities given by the field topiaIds
Since:
2.2.0
Author:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • contracts

      protected final org.nuiton.topia.persistence.TopiaEntityEnum[] contracts
      l'ensemble des contrats d'entites a repliquer
    • topiaIds

      protected final String[] topiaIds
      les ids des entites a repliquer (non utilise en mode replicateAll)
    • nodes

      protected final Map<org.nuiton.topia.persistence.TopiaEntityEnum, ReplicationNode> nodes
      le dictionnaire des noeuds a repliquer associes a leur type
    • order

      protected final List<ReplicationNode> order
      la liste des noeuds a repliquer (dans l'ordre de replication)
    • replicateAll

      protected final boolean replicateAll
      un drapeau pour savoir si on effectue une replication de toutes les donnees des contrats.
  • Constructor Details

    • ReplicationModel

      public ReplicationModel(org.nuiton.topia.persistence.TopiaEntityEnum[] contracts, Set<Class<? extends org.nuiton.topia.persistence.TopiaEntity>> types, String... topiaIds)
    • ReplicationModel

      public ReplicationModel(org.nuiton.topia.persistence.TopiaEntityEnum[] contracts, boolean replicateAll, String... topiaIds)
  • Method Details

    • getContract

      public org.nuiton.topia.persistence.TopiaEntityEnum getContract(Class<?> type)
    • getNodes

      public Collection<ReplicationNode> getNodes()
    • getTypes

      public Set<Class<? extends org.nuiton.topia.persistence.TopiaEntity>> getTypes()
    • getNode

      public ReplicationNode getNode(org.nuiton.topia.persistence.TopiaEntityEnum contract)
    • addDependency

      public void addDependency(List<ReplicationNode> nodes)
    • getContracts

      public org.nuiton.topia.persistence.TopiaEntityEnum[] getContracts()
    • getTopiaIds

      public String[] getTopiaIds()
    • getOrder

      public List<ReplicationNode> getOrder()
    • isReplicateAll

      public boolean isReplicateAll()
    • getNode

      public ReplicationNode getNode(String propertyName, Class<?> propertyType)
    • detectAssociations

      public void detectAssociations(org.nuiton.topia.persistence.TopiaEntityEnum... filter) throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • detectDirectDependencies

      public void detectDirectDependencies() throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • detectDependencies

      public void detectDependencies() throws org.nuiton.topia.persistence.TopiaException
      Throws:
      org.nuiton.topia.persistence.TopiaException
    • detectDependenciesOrder

      public void detectDependenciesOrder(Set<ReplicationNode> safeLevel, Set<ReplicationNode> doned)
    • detectObjectsToDettach

      public void detectObjectsToDettach()
    • detectOperations

      public void detectOperations()
    • adjustOperations

      public void adjustOperations(org.nuiton.topia.persistence.util.TopiaEntityIdsMap data)
    • detectShell

      public void detectShell()
    • getShell

      protected void getShell(ReplicationNode node, Set<ReplicationNode> explored)
    • addPreOperation

      protected void addPreOperation(ReplicationNode ownerNode, ReplicationNode node, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
    • addDuplicateOperation

      protected void addDuplicateOperation(ReplicationNode ownerNode, ReplicationNode node, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
    • addPostOperation

      protected void addPostOperation(ReplicationNode ownerNode, ReplicationNode node, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
    • addOperation

      protected void addOperation(ReplicationNode ownerNode, ReplicationNode node, ReplicationOperationPhase phase, Class<? extends TopiaReplicationOperation> operationClass, Object... params)