|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.mockrunner.connector.IndexedRecordInteraction
public class IndexedRecordInteraction
This interaction implementor works with indexed records. It takes a List
for
the request and a List
or a Record
instance for the response.
If the request List
is null
, which is the default,
the implementor accepts any request and returns the specified result. If a request
List
is specified, this implementor accepts only requests that contain the same
data as the specified expected request List
. The underlying lists are compared
as described in the List.equals
method.
If a request is accepted, this implementor replies with the specified
response. You can use the various constructors and set
methods
to configure the expected request and the response.
Please check out the documentation of the various methods for details.
Constructor Summary | |
---|---|
IndexedRecordInteraction()
Sets the expected request and the response to null ,
i.e. an empty response is returned for every request. |
|
IndexedRecordInteraction(java.util.List responseList)
Sets the expected request to null and prepares
the specified response List . |
|
IndexedRecordInteraction(java.util.List responseList,
java.lang.Class responseClass)
Sets the expected request to null and prepares
the specified response List . |
|
IndexedRecordInteraction(java.util.List expectedRequest,
java.util.List responseList)
Sets the specified expected request List and prepares
the specified response List . |
|
IndexedRecordInteraction(java.util.List expectedRequest,
java.util.List responseList,
java.lang.Class responseClass)
Sets the specified expected request List and prepares
the specified response List . |
|
IndexedRecordInteraction(java.util.List expectedRequest,
javax.resource.cci.Record responseRecord)
Sets the specified expected request List and the response
Record for the execute(InteractionSpec, Record)
method. |
|
IndexedRecordInteraction(javax.resource.cci.Record responseRecord)
Sets the expected request to null and prepares the response
Record for the execute(InteractionSpec, Record)
method. |
Method Summary | |
---|---|
boolean |
canHandle(javax.resource.cci.InteractionSpec interactionSpec,
javax.resource.cci.Record actualRequest,
javax.resource.cci.Record actualResponse)
Returns true if this implementor is enabled and will handle the request. |
void |
disable()
Disables this implementor. |
void |
enable()
Enables this implementor. |
javax.resource.cci.Record |
execute(javax.resource.cci.InteractionSpec interactionSpec,
javax.resource.cci.Record actualRequest)
First version of the execute methods. |
boolean |
execute(javax.resource.cci.InteractionSpec interactionSpec,
javax.resource.cci.Record actualRequest,
javax.resource.cci.Record actualResponse)
Second version of the execute methods. |
void |
setExpectedRequest(java.util.List expectedRequest)
Sets the specified expected request List . |
void |
setResponse(java.util.List responseList)
Prepares the specified response List . |
void |
setResponse(java.util.List responseList,
java.lang.Class responseClass)
Prepares the specified response List . |
void |
setResponse(javax.resource.cci.Record responseRecord)
Prepares the response Record for the
execute(InteractionSpec, Record) method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public IndexedRecordInteraction()
null
,
i.e. an empty response is returned for every request.
public IndexedRecordInteraction(java.util.List responseList)
null
and prepares
the specified response List
. The response class for the
execute(InteractionSpec,Record)
method is set
to the default MockIndexedRecord
.
It is allowed to pass null
for the response List
which is equivalent to an empty response.
The specified response is returned for every request.
responseList
- the response List
public IndexedRecordInteraction(java.util.List expectedRequest, java.util.List responseList)
List
and prepares
the specified response List
. The response class for the
execute(InteractionSpec,Record)
method is set
to the default MockIndexedRecord
.
It is allowed to pass null
for the request and response List
which is equivalent to an empty expected request (i.e. every request is accepted)
or to an empty response respectively.
The specified response is returned, if the actual request matches the specified expected
request.
expectedRequest
- the expected request List
responseList
- the response List
public IndexedRecordInteraction(java.util.List responseList, java.lang.Class responseClass)
null
and prepares
the specified response List
. The response class for the
execute(InteractionSpec,Record)
method is set
to the specified responseClass
. The specified
responseClass
must implement IndexedRecord
,
otherwise an IllegalArgumentException
will be thrown.
It is allowed to pass null
for the response List
which is equivalent to an empty response.
The specified response is returned for every request.
responseList
- the response List
responseClass
- the response Record
class
java.lang.IllegalArgumentException
- if the responseClass
is not validpublic IndexedRecordInteraction(java.util.List expectedRequest, java.util.List responseList, java.lang.Class responseClass)
List
and prepares
the specified response List
. The response class for the
execute(InteractionSpec,Record)
method is set
to the specified responseClass
. The specified
responseClass
must implement IndexedRecord
,
otherwise an IllegalArgumentException
will be thrown.
It is allowed to pass null
for the request and response List
which is equivalent to an empty expected request (i.e. every request is accepted)
or to an empty response respectively.
The specified response is returned, if the actual request matches the specified expected
request.
expectedRequest
- the expected request List
responseList
- the response List
responseClass
- the response Record
class
java.lang.IllegalArgumentException
- if the responseClass
is not validpublic IndexedRecordInteraction(java.util.List expectedRequest, javax.resource.cci.Record responseRecord)
List
and the response
Record
for the execute(InteractionSpec, Record)
method. The response Record
is ignored for
execute(InteractionSpec,Record,Record)
but takes precedence
over the specified response List
for execute(InteractionSpec, Record)
.
It is allowed to pass null
for the request and response Record
which is equivalent to an empty expected request (i.e. every request is accepted)
or to no specified response Record
, i.e. the specified response
List
is taken.
The specified response is returned, if the actual request matches the specified expected
request.
expectedRequest
- the expected request List
responseRecord
- the response Record
public IndexedRecordInteraction(javax.resource.cci.Record responseRecord)
null
and prepares the response
Record
for the execute(InteractionSpec, Record)
method. The response Record
is ignored for
execute(InteractionSpec,Record,Record)
but takes precedence
over the specified response List
for execute(InteractionSpec, Record)
.
It is allowed to pass null
for the response Record
which is equivalent to no specified response Record
, i.e. the specified response
List
is taken.
The specified response is returned for every request.
responseRecord
- the response Record
Method Detail |
---|
public void enable()
public void disable()
canHandle(InteractionSpec, Record, Record)
always returns false
, if this implementor is disabled.
public void setExpectedRequest(java.util.List expectedRequest)
List
. The response is returned,
if the actual request matches the specified expected request List
according to List.equals
.
It is allowed to pass null
for the request List
which is equivalent to an empty expected request (i.e. every request
is accepted).
expectedRequest
- the expected request List
public void setResponse(java.util.List responseList)
List
. The response class for the
execute(InteractionSpec,Record)
method is set
to the default MockIndexedRecord
.
It is allowed to pass null
for the response List
which is equivalent to an empty response.
responseList
- the response List
public void setResponse(java.util.List responseList, java.lang.Class responseClass)
List
. The response class for the
execute(InteractionSpec,Record)
method is set
to the specified responseClass
. The specified
responseClass
must implement IndexedRecord
,
otherwise an IllegalArgumentException
will be thrown.
It is allowed to pass null
for the response List
which is equivalent to an empty response.
responseList
- the response List
responseClass
- the response Record
class
java.lang.IllegalArgumentException
- if the responseClass
is not validpublic void setResponse(javax.resource.cci.Record responseRecord)
Record
for the
execute(InteractionSpec, Record)
method. The response
Record
is ignored for execute(InteractionSpec,Record,Record)
but takes precedence over the specified response List
for
execute(InteractionSpec, Record)
.
It is allowed to pass null
for the response Record
which is equivalent to no specified response Record
, i.e. the specified response
List
is taken.
responseRecord
- the response Record
public boolean canHandle(javax.resource.cci.InteractionSpec interactionSpec, javax.resource.cci.Record actualRequest, javax.resource.cci.Record actualResponse)
true
if this implementor is enabled and will handle the request.
This method returns true
if the following prerequisites are fulfilled:Record
must implement IndexedRecord
or it must be null
(which is the case, if the actual request
targets the execute(InteractionSpec,Record)
method instead of
execute(InteractionSpec,Record,Record)
).null
(use the various
setExpectedRequest
methods) or the actual request Record
must implement IndexedRecord
and must contain the same data as
the specified expected request List
according to List.equals
.false
is returned.
canHandle
in interface InteractionImplementor
interactionSpec
- the InteractionSpec
for the actual callactualRequest
- the request for the actual callactualResponse
- the response for the actual call, may be null
true
if this implementor will handle the request and
will return the specified response, false
otherwisepublic javax.resource.cci.Record execute(javax.resource.cci.InteractionSpec interactionSpec, javax.resource.cci.Record actualRequest) throws javax.resource.ResourceException
execute
methods.null
, if the request does not match
according to the contract of canHandle(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
. This never happens under
normal conditions since the InteractionHandler
does not call
execute
, if canHandle(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
returns false
.
Record
object is specified (use setResponse(Record)
),
it always takes precedence, i.e. the response List
will be ignored.
If no Record
object is specified, a Record
object
is created and filled with the specified response List
data. Use the
setResponse
methods that take a List
to prepare the response List
. The created Record
is of the the
specified type (the setResponse
method that takes a second
Class
parameter allows for specifying a type). If no type
is specified, a MockIndexedRecord
is created. If no response List
is specified at all, an empty
MockIndexedRecord
will be returned.
execute
in interface InteractionImplementor
interactionSpec
- the interaction specactualRequest
- the actual request
javax.resource.ResourceException
public boolean execute(javax.resource.cci.InteractionSpec interactionSpec, javax.resource.cci.Record actualRequest, javax.resource.cci.Record actualResponse) throws javax.resource.ResourceException
execute
methods.false
, if the request does not match
according to the contract of canHandle(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
. This never happens under
normal conditions since the InteractionHandler
does not call
execute
, if canHandle(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
returns false
.
Record
with the
specified response List
data. Use the setResponse
methods that
take a List
to prepare the response List
.
The response Record
must implement IndexedRecord
(it does, otherwise the request would have been rejected by
canHandle(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
). If no response List
is specified at all,
the response Record
is not touched but true
is returned anyway
execute
in interface InteractionImplementor
interactionSpec
- the interaction specactualRequest
- the actual requestactualResponse
- the actual response
true
under normal conditions
javax.resource.ResourceException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |