org.apache.directory.mitosis.operation
Class Operation

java.lang.Object
  extended by org.apache.directory.mitosis.operation.Operation
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AddEntryOperation, AttributeOperation, CompositeOperation

public class Operation
extends java.lang.Object
implements java.io.Serializable

Represents an operation performed on one or more entries in replicated Partition. Each Operation has its own CSN which identifies itself.

An Operation is usually created by calling factory methods in OperationFactory, which produces a CompositeOperation of smaller multiple operations. For example, OperationFactory.newDelete(LdapDN) returns a CompositeOperation which consists of two ReplaceAttributeOperations; one updates Constants.ENTRY_CSN attribute and the other updates Constants.ENTRY_DELETED. Refer to OperationFactory to find out what LDAP/JNDI operation is translated into what Operation instance.

See Also:
Serialized Form

Constructor Summary
Operation(CSN csn)
          Creates a new instance of Operation, for the entry which csn is given as a parameter.
 
Method Summary
 void execute(PartitionNexus nexus, ReplicationStore store, AttributeTypeRegistry registry)
          Exeutes this operation on the specified nexus.
protected  void execute0(PartitionNexus nexus, ReplicationStore store, AttributeTypeRegistry registry)
           
 CSN getCSN()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Operation

public Operation(CSN csn)
Creates a new instance of Operation, for the entry which csn is given as a parameter.

Parameters:
csn - The entry's csn.
Method Detail

getCSN

public CSN getCSN()
Returns:
Returns CSN for this operation.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
the CSN for this operation

execute

public final void execute(PartitionNexus nexus,
                          ReplicationStore store,
                          AttributeTypeRegistry registry)
                   throws javax.naming.NamingException
Exeutes this operation on the specified nexus.

Throws:
javax.naming.NamingException

execute0

protected void execute0(PartitionNexus nexus,
                        ReplicationStore store,
                        AttributeTypeRegistry registry)
                 throws javax.naming.NamingException
Throws:
javax.naming.NamingException