org.nuiton.topia.replication.model
Class ReplicationModel

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

public class ReplicationModel
extends java.lang.Object


Field Summary
protected  TopiaEntityEnum[] contracts
          l'ensemble des contrats d'entites a repliquer
protected  java.util.Map<java.lang.Class<? extends TopiaEntity>,ReplicationNode> nodes
          le dictionnaire des noeuds a repliquer associes a leur type
protected  java.util.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  java.lang.String[] topiaIds
          les ids des entites a repliquer (non utilise en mode replicateAll)
 
Constructor Summary
ReplicationModel(TopiaEntityEnum[] contracts, boolean replicateAll, java.lang.String... topiaIds)
           
ReplicationModel(TopiaEntityEnum[] contracts, java.util.Set<java.lang.Class<? extends TopiaEntity>> types, java.lang.String... topiaIds)
           
 
Method Summary
 void addDependency(java.util.List<ReplicationNode> nodes)
           
protected  void addOperation(ReplicationNode ownerNode, ReplicationNode node, ReplicationOperationPhase phase, java.lang.Class<? extends TopiaReplicationOperation> operationClass, java.lang.Object... params)
           
 void adjustOperations(java.util.Map<java.lang.Class<? extends TopiaEntity>,java.util.List<java.lang.String>> data)
           
 void detectAssociations(TopiaEntityEnum... filter)
           
 void detectDependencies()
           
 void detectDependenciesOrder(java.util.Set<ReplicationNode> safeLevel, java.util.Set<ReplicationNode> doned)
           
 void detectDirectDependencies()
           
 void detectObjectsToDettach()
           
 void detectOperations()
           
 void detectShell()
           
 TopiaEntityEnum[] getContracts()
           
 ReplicationNode getNode(java.lang.Class<? extends TopiaEntity> clazz)
           
 ReplicationNode getNode(java.lang.String propertyName, java.lang.Class<?> propertyType)
           
 ReplicationNode getNode(TopiaEntityEnum contract)
           
 java.util.Collection<ReplicationNode> getNodes()
           
 java.util.List<ReplicationNode> getOrder()
           
protected  void getShell(ReplicationNode node, java.util.Set<ReplicationNode> explored)
           
 java.lang.String[] getTopiaIds()
           
 java.util.Set<java.lang.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 java.lang.String[] topiaIds
les ids des entites a repliquer (non utilise en mode replicateAll)


nodes

protected java.util.Map<java.lang.Class<? extends TopiaEntity>,ReplicationNode> nodes
le dictionnaire des noeuds a repliquer associes a leur type


order

protected java.util.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,
                        java.util.Set<java.lang.Class<? extends TopiaEntity>> types,
                        java.lang.String... topiaIds)

ReplicationModel

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

getNodes

public java.util.Collection<ReplicationNode> getNodes()

getTypes

public java.util.Set<java.lang.Class<? extends TopiaEntity>> getTypes()

getNode

public ReplicationNode getNode(java.lang.Class<? extends TopiaEntity> clazz)

getNode

public ReplicationNode getNode(TopiaEntityEnum contract)

addDependency

public void addDependency(java.util.List<ReplicationNode> nodes)

getContracts

public TopiaEntityEnum[] getContracts()

getTopiaIds

public java.lang.String[] getTopiaIds()

getOrder

public java.util.List<ReplicationNode> getOrder()

isReplicateAll

public boolean isReplicateAll()

getNode

public ReplicationNode getNode(java.lang.String propertyName,
                               java.lang.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(java.util.Set<ReplicationNode> safeLevel,
                                    java.util.Set<ReplicationNode> doned)

detectObjectsToDettach

public void detectObjectsToDettach()

detectOperations

public void detectOperations()

adjustOperations

public void adjustOperations(java.util.Map<java.lang.Class<? extends TopiaEntity>,java.util.List<java.lang.String>> data)

detectShell

public void detectShell()

getShell

protected void getShell(ReplicationNode node,
                        java.util.Set<ReplicationNode> explored)

addOperation

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


Copyright © 2004-2010 CodeLutin. All Rights Reserved.