public class ServiceDataCargo extends Object implements Serializable
It is not required that Analysis Engine Services use this class. It is provided as a convenience for those services that communicate using binary data.
This object contains state information extracted from an AnalysisProcessData
. The
AnalysisProcessData
object itself is not serializable, because it contains the
CAS
object. CASes are heavyweight objects and should not be created and destroyed
with each network call.
Instead, to pass Analysis Process Data to a remote service, one should create a
ServiceDataCargo
and send that to the remote service.
A ServiceDataCargo
can be unmarshalled into an existing
AnalysisProcessData
by calling the
unmarshalInto(AnalysisProcessData, boolean)
method. Alternatively, the CAS state can be
unmarshalled separately by calling the unmarshalCas(CAS, boolean)
method.
Constructor and Description |
---|
ServiceDataCargo(AnalysisProcessData aData)
Creates a new
SerializableAnalysisProcessData that contains information extracted
from the specified AnalysisProcessData . |
ServiceDataCargo(CAS aCAS,
ProcessTrace aProcessTrace)
Creates a new
SerializableAnalysisProcessData that contains the given
CAS and ProcessTrace . |
Modifier and Type | Method and Description |
---|---|
ProcessTrace |
getProcessTrace()
Gets the ProcessTrace object from this
ServiceDataCargo . |
void |
setProcessTrace(ProcessTrace aProcessTrace)
Sets the ProcessTrace object from this
ServiceDataCargo . |
void |
unmarshalCas(CAS aCas,
boolean aReplaceCasTypeSystem)
Unmarshalls the CAS data in this
ServiceDataCargo into an existing
CAS instance. |
void |
unmarshalInto(AnalysisProcessData aDataContainer,
boolean aReplaceCasTypeSystem)
Unmarshalls this
SerializableAnalysisProcessData into an existing
AnalysisProcessData object. |
public ServiceDataCargo(AnalysisProcessData aData)
SerializableAnalysisProcessData
that contains information extracted
from the specified AnalysisProcessData
.aData
- the AnalysisProcessData to extract frompublic ServiceDataCargo(CAS aCAS, ProcessTrace aProcessTrace)
SerializableAnalysisProcessData
that contains the given
CAS
and ProcessTrace
.aCAS
- the CAS whose state will be extracted into this objectaProcessTrace
- the process trace object. This may be null, if no process trace is available. (For
example, ProcessTrace data may often be returned from a service but not passed to the
service.)public void unmarshalInto(AnalysisProcessData aDataContainer, boolean aReplaceCasTypeSystem) throws CASException
SerializableAnalysisProcessData
into an existing
AnalysisProcessData
object. The existing CAS data in the
aDataContainer
object will be replaced by the CAS data in this object. The
ProcessTrace
events in this object will be appended to the
ProcessTrace
of the aDataContainer
object.aDataContainer
- the AnalysisProcessData to unmarshal intoaReplaceCasTypeSystem
- -CASException
- -public void unmarshalCas(CAS aCas, boolean aReplaceCasTypeSystem) throws CASException
ServiceDataCargo
into an existing
CAS
instance. The data in the exsiting CAS will be replaced by the CAS data in
this object.aCas
- the CAS to unmarshal intoaReplaceCasTypeSystem
- if true, assumes serialized data contains the type systemCASException
- passthrupublic ProcessTrace getProcessTrace()
ServiceDataCargo
. This may return null, if
no process trace is available. (For example, ProcessTrace data may often be returned from a
service but not passed to the service.)public void setProcessTrace(ProcessTrace aProcessTrace)
ServiceDataCargo
.aProcessTrace
- the process traceCopyright © 2006–2022 The Apache Software Foundation. All rights reserved.