Class CommandEnv
java.lang.Object
com.perforce.p4java.impl.mapbased.rpc.CommandEnv
Used to package up the Perforce function environment for a single
Perforce command across multiple RPC function calls.
In particular, we need to keep things like file handles, arbitrary RPC function arguments, etc., around for use during complex long-running commands that span many dispatch calls in loop or duplex mode, etc., in response to single user commands like 'sync'.
Note that this is in distinction to a) the command's external environment (in the ExternalEnv class), and b) the command's individual function environments,
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassP4Java's version of the notorious handler class in the C++ API. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringSequence used by operating system to separate lines in text files.static final intMax number of live handlers per command cycle. -
Constructor Summary
ConstructorsConstructorDescriptionCommandEnv(RpcServer server, RpcCmdSpec cmdSpec, RpcConnection rpcConnection, ProtocolCommand protocolSpecs, Map<String, Object> serverProtocolSpecsMap, IProgressCallback progressCallback, int cmdCallBackKey, boolean syncInPlace, boolean nonCheckedSyncs) -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddHandler(CommandEnv.RpcHandler handler) voidintgetHandler(String handlerName) intintlongvoidhandlePartialResult(Map<String, Object> resultMap) Handle a partial result by either adding it to the resultsMapVec for later processing or passing it up to the streaming results callback handler.voidhandleResult(Map<String, Object> resultMap) Handle a result by either adding it to the resultsMapVec for later processing or passing it up to the streaming results callback handler.booleanbooleanbooleanbooleanbooleanbooleanbooleanvoidvoidvoidsetBufferOutput(boolean bufferOutput) voidsetClientProgressCallback(IProgress clientProgressCallback) voidsetCmdCallBackKey(int cmdCallBackKey) voidsetCmdSpec(RpcCmdSpec cmdSpec) voidsetDontWriteTicket(boolean dontWriteTicket) voidsetFieldRule(RpcPacketFieldRule fieldRule) voidsetFilterCallback(IFilterCallback filterCallback) voidsetHandlers(CommandEnv.RpcHandler[] handlers) voidsetNonCheckedSyncs(boolean nonCheckedSyncs) voidsetNullSync(boolean nullSync) voidsetParallelCallback(IParallelCallback parallelCallback) voidsetProgressCallback(IProgressCallback progressCallback) voidsetProtocolSpecs(ProtocolCommand protocolSpecs) voidsetResultMaps(List<Map<String, Object>> resultMaps) voidsetRpcConnection(RpcConnection rpcConnection) voidsetServerProtocolSpecsMap(Map<String, Object> serverProtocolSpecsMap) voidsetStateMap(Map<String, Object> stateMap) voidsetStreamCmd(boolean streamCmd) voidsetStreamingCallback(IStreamingCallback streamingCallback) voidsetStreamingCallbackKey(int streamingCallbackKey) voidsetSyncInPlace(boolean syncInPlace) voidsetSyncTime(long syncTime) voidsetUserCanceled(boolean userCanceled)
-
Field Details
-
MAX_HANDLERS
public static final int MAX_HANDLERSMax number of live handlers per command cycle. Value copied straight from the C++ API.- See Also:
-
LINE_SEPARATOR
Sequence used by operating system to separate lines in text files. Default to "\n" if it is not available.
-
-
Constructor Details
-
CommandEnv
public CommandEnv(RpcServer server, RpcCmdSpec cmdSpec, RpcConnection rpcConnection, ProtocolCommand protocolSpecs, Map<String, Object> serverProtocolSpecsMap, IProgressCallback progressCallback, int cmdCallBackKey, boolean syncInPlace, boolean nonCheckedSyncs)
-
-
Method Details
-
addHandler
-
handleResult
Handle a result by either adding it to the resultsMapVec for later processing or passing it up to the streaming results callback handler.- Parameters:
resultMap- resultMap
-
handlePartialResult
Handle a partial result by either adding it to the resultsMapVec for later processing or passing it up to the streaming results callback handler.- Parameters:
resultMap- resultMap
-
resetPartialResult
public void resetPartialResult() -
getHandler
-
getCmdSpec
-
setCmdSpec
-
getResultMaps
-
setResultMaps
-
clearLastResultMap
public void clearLastResultMap() -
getStateMap
-
setStateMap
-
getProtocolSpecs
-
getServerProtocolLevel
public int getServerProtocolLevel() -
setProtocolSpecs
-
getRpcConnection
-
setRpcConnection
-
getHandlers
-
setHandlers
-
newHandler
public void newHandler() -
getServerProtocolSpecsMap
-
setServerProtocolSpecsMap
-
getProgressCallback
-
setProgressCallback
-
getCmdCallBackKey
public int getCmdCallBackKey() -
setCmdCallBackKey
public void setCmdCallBackKey(int cmdCallBackKey) -
isUserCanceled
public boolean isUserCanceled() -
setUserCanceled
public void setUserCanceled(boolean userCanceled) -
isSyncInPlace
public boolean isSyncInPlace() -
setSyncInPlace
public void setSyncInPlace(boolean syncInPlace) -
getStreamingCallback
-
setStreamingCallback
-
getStreamingCallbackKey
public int getStreamingCallbackKey() -
setStreamingCallbackKey
public void setStreamingCallbackKey(int streamingCallbackKey) -
isNonCheckedSyncs
public boolean isNonCheckedSyncs() -
setNonCheckedSyncs
public void setNonCheckedSyncs(boolean nonCheckedSyncs) -
isDontWriteTicket
public boolean isDontWriteTicket() -
setDontWriteTicket
public void setDontWriteTicket(boolean dontWriteTicket) -
isStreamCmd
public boolean isStreamCmd() -
setStreamCmd
public void setStreamCmd(boolean streamCmd) -
getFieldRule
-
setFieldRule
-
getFilterCallback
-
setFilterCallback
-
getParallelCallback
-
setParallelCallback
-
getClientProgressCallback
-
setClientProgressCallback
-
getServer
-
getSyncTime
public long getSyncTime() -
setSyncTime
public void setSyncTime(long syncTime) -
isNullSync
public boolean isNullSync() -
setNullSync
public void setNullSync(boolean nullSync) -
isBufferOutput
public boolean isBufferOutput() -
setBufferOutput
public void setBufferOutput(boolean bufferOutput)
-