package org.alfresco.service.cmr.replication; import java.io.Serializable; import java.util.List; import org.alfresco.service.cmr.action.CancellableAction; import org.alfresco.service.cmr.action.scheduled.SchedulableAction; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; /** * This class is used to fully specify an inter-repository replication. It * specifies which node(s) should be transfered, which associated content * should be sent with them, and which target they should be sent to. *
* Every ReplicationDefinition has areplicationName
attribute
* which uniquely identifies it. It also has a single target.
*
* @author Nick Burch
*/
public interface ReplicationDefinition extends CancellableAction, SchedulableAction, Serializable {
/**
* @return the name which uniquely identifies this replication definition.
*/
String getReplicationName();
/**
* @return the qualified name which uniquely identifies this replication definition.
*/
QName getReplicationQName();
/**
* @return the name of the target repository.
*/
String getTargetName();
/**
* Sets the name of the target repository.
*/
void setTargetName(String targetName);
/**
* Is this Replication Definition currently
* enabled (can be run), or disabled
* (can't be run)?
* @return Whether the definition is enabled or not
*/
boolean isEnabled();
/**
* Enable or Disable the Replication
* Definition.
*/
void setEnabled(boolean enabled);
/**
* The list of Nodes to be transfered. This
* list can be edited as required.
* @return An editable list of the nodes to be transfered
*/
List