org.nuiton.topia.replication.model
Class ReplicationModel

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

public class ReplicationModel
extends Object

Model of replication.

the object contains the required nodes to replicate :

Since:
2.2.0
Author:
tchemit

Field Summary
protected  TopiaEntityEnum[] contracts
          l'ensemble des contrats d'entites a repliquer
protected  Map<TopiaEntityEnum,ReplicationNode> nodes
          le dictionnaire des noeuds a repliquer associes a leur type
protected  List<ReplicationNode> order
          la liste des noeuds a repliquer (dans l'ordre de replication)
protected  boolean replicateAll
          un drapeau pour savoir si on effectue une replication de toutes les donnees des contrats.
protected  String[] topiaIds
          les ids des entites a repliquer (non utilise en mode replicateAll)
 
Constructor Summary
ReplicationModel(TopiaEntityEnum[] contracts, boolean replicateAll, String... topiaIds)
           
ReplicationModel(TopiaEntityEnum[] contracts, Set<Class<? extends TopiaEntity>> types, String... topiaIds)
           
 
Method Summary
 void addDependency(List<ReplicationNode> nodes)
           
protected  void addDuplicateOperation(ReplicationNode ownerNode, ReplicationNode node, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
           
protected  void addOperation(ReplicationNode ownerNode, ReplicationNode node, ReplicationOperationPhase phase, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
           
protected  void addPostOperation(ReplicationNode ownerNode, ReplicationNode node, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
           
protected  void addPreOperation(ReplicationNode ownerNode, ReplicationNode node, Class<? extends TopiaReplicationOperation> operationClass, Object... params)
           
 void adjustOperations(TopiaEntityIdsMap data)
           
 void detectAssociations(TopiaEntityEnum... filter)
           
 void detectDependencies()
           
 void detectDependenciesOrder(Set<ReplicationNode> safeLevel, Set<ReplicationNode> doned)
           
 void detectDirectDependencies()
           
 void detectObjectsToDettach()
           
 void detectOperations()
           
 void detectShell()
           
 TopiaEntityEnum getContract(Class<?> type)
           
 TopiaEntityEnum[] getContracts()
           
 ReplicationNode getNode(String propertyName, Class<?> propertyType)
           
 ReplicationNode getNode(TopiaEntityEnum contract)
           
 Collection<ReplicationNode> getNodes()
           
 List<ReplicationNode> getOrder()
           
protected  void getShell(ReplicationNode node, Set<ReplicationNode> explored)
           
 String[] getTopiaIds()
           
 Set<Class<? extends TopiaEntity>> getTypes()
           
 boolean isReplicateAll()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

contracts

protected final 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<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 Detail

ReplicationModel

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

ReplicationModel

public ReplicationModel(TopiaEntityEnum[] contracts,
                        boolean replicateAll,
                        String... topiaIds)
Method Detail

getContract

public TopiaEntityEnum getContract(Class<?> type)

getNodes

public Collection<ReplicationNode> getNodes()

getTypes

public Set<Class<? extends TopiaEntity>> getTypes()

getNode

public ReplicationNode getNode(TopiaEntityEnum contract)

addDependency

public void addDependency(List<ReplicationNode> nodes)

getContracts

public 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(TopiaEntityEnum... filter)
                        throws TopiaException
Throws:
TopiaException

detectDirectDependencies

public void detectDirectDependencies()
                              throws TopiaException
Throws:
TopiaException

detectDependencies

public void detectDependencies()
                        throws TopiaException
Throws:
TopiaException

detectDependenciesOrder

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

detectObjectsToDettach

public void detectObjectsToDettach()

detectOperations

public void detectOperations()

adjustOperations

public void adjustOperations(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)


Copyright © 2004-2010 CodeLutin. All Rights Reserved.