messif.operations.query
Class GetObjectByLocatorOperation

java.lang.Object
  extended by messif.operations.AbstractOperation
      extended by messif.operations.QueryOperation<AbstractObject>
          extended by messif.operations.SingletonQueryOperation
              extended by messif.operations.query.GetObjectByLocatorOperation
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Clearable

public class GetObjectByLocatorOperation
extends SingletonQueryOperation

This query retrieves from the structure a set of objects given their locators.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class messif.operations.AbstractOperation
AbstractOperation.DataEqualOperation, AbstractOperation.OperationConstructor, AbstractOperation.OperationName
 
Field Summary
protected  java.lang.String locator
          The locator of the desired object
 
Fields inherited from class messif.operations.QueryOperation
answerType
 
Fields inherited from class messif.operations.AbstractOperation
errValue, operID, suppData
 
Constructor Summary
GetObjectByLocatorOperation(java.lang.String locator)
          Creates a new instance of GetObjectByLocatorOperation for a specified locator.
GetObjectByLocatorOperation(java.lang.String locator, AnswerType answerType)
          Creates a new instance of GetObjectByLocatorOperation for a specified locator.
 
Method Summary
protected  boolean dataEqualsImpl(AbstractOperation obj)
          Indicates whether some other operation has the same data as this one.
 int dataHashCode()
          Returns a hash code value for the data of this operation.
 int evaluate(AbstractObjectIterator<? extends LocalAbstractObject> objects)
          Evaluate this query on a given set of objects.
 java.lang.Object getArgument(int index)
          Returns argument that was passed while constructing instance.
 int getArgumentCount()
          Returns number of arguments that were passed while constructing this instance.
 java.lang.String getLocator()
          Returns the locator that this query searches for.
 
Methods inherited from class messif.operations.SingletonQueryOperation
addToAnswer, clearSurplusData, clone, getAnswer, getAnswer, getAnswerClass, getAnswerCount, getAnswerObject, getAnswerObjects, resetAnswer, updateFrom
 
Methods inherited from class messif.operations.QueryOperation
appendErrorCode, endOperation, getAnswerType, wasSuccessful
 
Methods inherited from class messif.operations.AbstractOperation
appendArguments, createOperation, dataEquals, endOperation, equals, getAnnotatedConstructor, getAnnotatedConstructor, getConstructorArgumentDescriptions, getConstructorArgumentDescriptions, getConstructorArguments, getConstructorArguments, getConstructorDescription, getErrorCode, getName, getName, getOperationID, hashCode, isFinished, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

locator

protected final java.lang.String locator
The locator of the desired object

Constructor Detail

GetObjectByLocatorOperation

public GetObjectByLocatorOperation(java.lang.String locator)
Creates a new instance of GetObjectByLocatorOperation for a specified locator. AnswerType.NODATA_OBJECTS will be returned in the result.

Parameters:
locator - the locator to be searched by this operation

GetObjectByLocatorOperation

public GetObjectByLocatorOperation(java.lang.String locator,
                                   AnswerType answerType)
Creates a new instance of GetObjectByLocatorOperation for a specified locator.

Parameters:
locator - the locator to be searched by this operation
answerType - the type of objects this operation stores in its answer
Method Detail

getLocator

public java.lang.String getLocator()
Returns the locator that this query searches for.

Returns:
the locator that this query searches for

getArgument

public java.lang.Object getArgument(int index)
                             throws java.lang.IndexOutOfBoundsException
Returns argument that was passed while constructing instance. If the argument is not stored within operation, null is returned.

Overrides:
getArgument in class AbstractOperation
Parameters:
index - index of an argument passed to constructor
Returns:
argument that was passed while constructing instance
Throws:
java.lang.IndexOutOfBoundsException - if index parameter is out of range

getArgumentCount

public int getArgumentCount()
Returns number of arguments that were passed while constructing this instance.

Overrides:
getArgumentCount in class AbstractOperation
Returns:
number of arguments that were passed while constructing this instance

evaluate

public int evaluate(AbstractObjectIterator<? extends LocalAbstractObject> objects)
Evaluate this query on a given set of objects.

Specified by:
evaluate in class QueryOperation<AbstractObject>
Parameters:
objects - set of objects to evaluate the operation on
Returns:
number of objects satisfying the query (should be zero or one object if the locator is unique)

dataEqualsImpl

protected boolean dataEqualsImpl(AbstractOperation obj)
Indicates whether some other operation has the same data as this one.

Specified by:
dataEqualsImpl in class AbstractOperation
Parameters:
obj - the reference object with which to compare.
Returns:
true if this object has the same data as the obj argument; false otherwise.

dataHashCode

public int dataHashCode()
Returns a hash code value for the data of this operation.

Specified by:
dataHashCode in class AbstractOperation
Returns:
a hash code value for the data of this operation