au.com.prunge.jgenfile.impl.local
Class LocalSetMetadataOperation

java.lang.Object
  |
  +--au.com.prunge.jgenfile.impl.AbstractOperation
        |
        +--au.com.prunge.jgenfile.impl.AbstractItemOperation
              |
              +--au.com.prunge.jgenfile.impl.local.LocalSetMetadataOperation
All Implemented Interfaces:
ItemOperation, Operation, SetMetadataOperation

public class LocalSetMetadataOperation
extends AbstractItemOperation
implements SetMetadataOperation

An operation that sets elements of metadata for local items.

Version:
1.0
Author:
Peter Runge

Constructor Summary
LocalSetMetadataOperation(LocalItem item, Map metadataToModifyMap)
          Constructs a LocalSetMetadataOperation.
 
Method Summary
 Set getMetadataModifiedSet()
          Returns a set of MetadataKey objects that were successfully modified.
 Map getMetadataToModifyMap()
          Returns a map of metadata keys to values that this operation is setting for the item.
 void runImpl()
          The actual run() implementation goes in this method.
 
Methods inherited from class au.com.prunge.jgenfile.impl.AbstractItemOperation
getItem
 
Methods inherited from class au.com.prunge.jgenfile.impl.AbstractOperation
abort, addOperationHints, checkRun, getLastRunException, getOperationHint, getOperationHints, hasRun, run, setLastRunException, setOperationHint, setOperationHints
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface au.com.prunge.jgenfile.ItemOperation
getItem
 
Methods inherited from interface au.com.prunge.jgenfile.Operation
abort, addOperationHints, getLastRunException, getOperationHint, getOperationHints, hasRun, run, setOperationHint, setOperationHints
 

Constructor Detail

LocalSetMetadataOperation

public LocalSetMetadataOperation(LocalItem item,
                                 Map metadataToModifyMap)
                          throws NullPointerException
Constructs a LocalSetMetadataOperation.

Parameters:
item - the item this operation is for.
Throws:
NullPointerException - if metadataToModifyMap is null.
Method Detail

getMetadataToModifyMap

public Map getMetadataToModifyMap()
Description copied from interface: SetMetadataOperation
Returns a map of metadata keys to values that this operation is setting for the item.

Specified by:
getMetadataToModifyMap in interface SetMetadataOperation
Returns:
a map of MetadataKey objects to values.
See Also:
SetMetadataOperation.getMetadataToModifyMap()

getMetadataModifiedSet

public Set getMetadataModifiedSet()
                           throws OperationNotFinishedException,
                                  JGenFileException
Description copied from interface: SetMetadataOperation
Returns a set of MetadataKey objects that were successfully modified. If one or more elements of metadata could not be set, the corresponding key will not exist in the set.

Specified by:
getMetadataModifiedSet in interface SetMetadataOperation
Returns:
a set of MetadataKey objects.
Throws:
JGenFileException - if another error occurs.
OperationNotFinishedException - if this method was called and the run() method has not finished or has not been called.
See Also:
SetMetadataOperation.getMetadataModifiedSet()

runImpl

public void runImpl()
             throws JGenFileException
Description copied from class: AbstractOperation
The actual run() implementation goes in this method. Setting the last run exception and setting hasRun to true is not required by this method as it is handled by the run() method in this class.

If this method completes successfully (i.e. without throwing an exception), the last run exception is set to null indicating no exception occurred and subsequent calls to hasRun() will return true.

If this method throws an exception, the last run exception is filled in and hasRun() subsequent calls to hasRun() will return false.

Specified by:
runImpl in class AbstractOperation
Throws:
JGenFileException - if an error occurs.
See Also:
au.com.prunge.jgenfile.AbstractOperation#runImpl()