package org.alfresco.repo.replication;
import java.util.List;
import org.alfresco.service.cmr.replication.ReplicationDefinition;
/**
* This class provides the implementation of ReplicationDefinition persistence.
*
* @author Nick Burch
* @since 3.4
*/
public interface ReplicationDefinitionPersister
{
/**
* This method serializes the {@link ReplicationDefinition} and stores it in
* the repository. {@link ReplicationDefinition}s saved in this way may be
* retrieved using the load()
method.
*
* @param replicationDefinition The {@link ReplicationDefinition} to be
* persisted.
*/
void saveReplicationDefinition(ReplicationDefinition replicationDefinition);
/**
* This method removes the previously serializes {@link ReplicationDefinition}
* from the repository. The {@link ReplicationDefinition} will then no longer
* be available using the load methods.
*
* @param replicationDefinition The {@link ReplicationDefinition} to be
* deleted.
*/
void deleteReplicationDefinition(ReplicationDefinition replicationDefinition);
/**
* This method renames a {@link ReplicationDefinition} that has been stored
* in the repository using the save()
method.
* If no {@link ReplicationDefinition} exists in the repository with the specified
* replication name, then nothing happens.
*
* @param oldReplicationName The unique identifier used to specify the
* {@link ReplicationDefinition} to rename.
* @param newReplicationName The unique identifier used to specify the
* new {@link ReplicationDefinition} name.
*/
void renameReplicationDefinition(String oldReplicationName, String newReplicationName);
/**
* This method retrieves a {@link ReplicationDefinition} that has been stored
* in the repository using the save()
method. If no
* {@link ReplicationDefinition} exists in the repository with the specified
* replication name then this method returns null.
*
* @param replicationName The unique identifier used to specify the
* {@link ReplicationDefinition} to retrieve.
* @return The specified {@link ReplicationDefinition} or null.
*/
ReplicationDefinition loadReplicationDefinition(String replicationName);
/**
* This method retrieves the {@link ReplicationDefinition}s that have been
* stored in the repository using the save()
method.
*