Package com.tangosol.coherence.commonj
Class WorkManager.WorkHolder
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.coherence.commonj.WorkManager.WorkHolder
-
- All Implemented Interfaces:
commonj.work.RemoteWorkItem,commonj.work.WorkItem,Comparable
- Enclosing class:
- WorkManager
protected class WorkManager.WorkHolder extends Base implements commonj.work.RemoteWorkItem
A holder for a Work object that serves as a communication intermediary between a client and a [remote] service.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classWorkManager.WorkHolder.EventA WorkEvent implementation.-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Field Summary
Fields Modifier and Type Field Description protected commonj.work.WorkListenerm_listenerA work listener associated with the corresponding Work.protected Listm_listWaitsA list of collections waiting for this Work to complete.protected longm_lWorkIdThe corresponding work id.protected Memberm_memberThe server Member that is to run the Work.protected InvocationServicem_serviceThe underlying Invocation service.protected WorkManager.WorkStatusm_statusCurrent Work status.
-
Constructor Summary
Constructors Constructor Description WorkHolder(long lWorkId, commonj.work.WorkListener listener, InvocationService service, Member member)Construct a WorkHolder for a Work with a given work id that is scheduled to be executed on a specified service.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddWait(Collection collWait)Add a collection to a wait list.intcompareTo(Object o)Compare this WorkItem with the specified object for order.booleanequals(Object o)Compare this WorkItem with the specified object for equality.commonj.work.WorkListenergetListener()Return the associated WorkListener.commonj.work.WorkManagergetPinnedWorkManager()Return a pinned WorkManager which represents the JVM that was used to execute this Work.commonj.work.WorkgetResult()Return the Work once it has completed.InvocationServicegetService()Return the InvocationService used to execute the corresponding Work.intgetStatus()Return the current status of dispatching the Work.MembergetTargetMember()Return the Member that the corresponding Work is to be executed at.Collection[]getWaits()Assemble an array of collection that wait for this Work.longgetWorkId()Return the work id.WorkManager.WorkStatusgetWorkStatus()Return the WorkStatus object.inthashCode()Return a hash code value for this WorkHolder.voidrelease()Calls the remote Work object'sWork.release()method.voidremoveWait(Collection collWait)Remove a collection from a wait list.protected voidsetWorkStatus(WorkManager.WorkStatus status)Update the WorkStatus.StringtoString()Return a string representation of the WorkHolder object.-
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
-
-
-
Field Detail
-
m_lWorkId
protected long m_lWorkId
The corresponding work id.
-
m_listener
protected commonj.work.WorkListener m_listener
A work listener associated with the corresponding Work.
-
m_service
protected InvocationService m_service
The underlying Invocation service.
-
m_member
protected Member m_member
The server Member that is to run the Work.
-
m_status
protected WorkManager.WorkStatus m_status
Current Work status.
-
m_listWaits
protected List m_listWaits
A list of collections waiting for this Work to complete. Usually this list contains no more than one item.
-
-
Constructor Detail
-
WorkHolder
public WorkHolder(long lWorkId, commonj.work.WorkListener listener, InvocationService service, Member member)Construct a WorkHolder for a Work with a given work id that is scheduled to be executed on a specified service.- Parameters:
lWorkId- the Work idlistener- the WorkListenerservice- the InvocationService to usemember- the target Member
-
-
Method Detail
-
getStatus
public int getStatus()
Return the current status of dispatching the Work. SeeWorkEventfor the values.- Specified by:
getStatusin interfacecommonj.work.WorkItem- Returns:
- the work status
- See Also:
WorkEvent
-
getResult
public commonj.work.Work getResult() throws commonj.work.WorkExceptionReturn the Work once it has completed. If the Work threw an exception during run then the exception is re-thrown here.- Specified by:
getResultin interfacecommonj.work.WorkItem- Returns:
- the completed Work or null if the Work is not yet complete.
- Throws:
commonj.work.WorkException- if an exception is thrown in the Work
-
getPinnedWorkManager
public commonj.work.WorkManager getPinnedWorkManager()
Return a pinned WorkManager which represents the JVM that was used to execute this Work.- Specified by:
getPinnedWorkManagerin interfacecommonj.work.RemoteWorkItem- Returns:
- the WorkManager associated with the JVM that was used to execute this RemoteWorkItem
-
release
public void release()
Calls the remote Work object'sWork.release()method.- Specified by:
releasein interfacecommonj.work.RemoteWorkItem
-
compareTo
public int compareTo(Object o)
Compare this WorkItem with the specified object for order.- Specified by:
compareToin interfaceComparable
-
getWorkId
public long getWorkId()
Return the work id.- Returns:
- the work id.
-
getWorkStatus
public WorkManager.WorkStatus getWorkStatus()
Return the WorkStatus object.- Returns:
- the WorkStatus object
-
getService
public InvocationService getService()
Return the InvocationService used to execute the corresponding Work.- Returns:
- the InvocationService reference
-
getTargetMember
public Member getTargetMember()
Return the Member that the corresponding Work is to be executed at.- Returns:
- the target Member
-
getListener
public commonj.work.WorkListener getListener()
Return the associated WorkListener.- Returns:
- the listener object
-
setWorkStatus
protected void setWorkStatus(WorkManager.WorkStatus status)
Update the WorkStatus.- Parameters:
status- the WorkStatus object to update
-
addWait
public void addWait(Collection collWait)
Add a collection to a wait list.- Parameters:
collWait- a collection that waits for this Work
-
removeWait
public void removeWait(Collection collWait)
Remove a collection from a wait list. The collection must have been added using theaddWait(java.util.Collection)call.- Parameters:
collWait- a collection that waits for this Work
-
getWaits
public Collection[] getWaits()
Assemble an array of collection that wait for this Work.- Returns:
- an array of collections that wait for this Work
-
hashCode
public int hashCode()
Return a hash code value for this WorkHolder.
-
equals
public boolean equals(Object o)
Compare this WorkItem with the specified object for equality.
-
-