Class FileSpec
- java.lang.Object
-
- com.perforce.p4java.impl.generic.core.ServerResource
-
- com.perforce.p4java.impl.generic.core.file.FileSpec
-
- All Implemented Interfaces:
IFileOperationResult,IFileSpec,IServerResource
- Direct Known Subclasses:
ExtendedFileSpec
public class FileSpec extends ServerResource implements IFileSpec
Simple generic default implementation class for the IFileSpec interface.
-
-
Field Summary
Fields Modifier and Type Field Description protected FileActionactionprotected java.lang.StringbaseFileprotected java.lang.StringbaseNameprotected intbaseRevprotected java.lang.StringblobShaprotected java.lang.Stringbranchprotected intchangeListIdprotected IClientclientprotected java.lang.StringclientNameprotected FilePathclientPathprotected java.lang.StringcommitShaprotected java.util.Datedateprotected FilePathdepotPathprotected intendRevisionprotected java.lang.StringfileTypeprotected intgenericCodeprotected java.lang.Stringlabelprotected FilePathlocalPathprotected FileSpecOpStatusopStatusprotected FilePathoriginalPathprotected intrawCodeprotected java.lang.StringrepoNameprotected intseverityCodeprotected java.lang.Stringshaprotected intstartRevisionprotected java.lang.StringstatusMessageprotected intsubCodeprotected intsubSystemprotected java.lang.StringtreeShaprotected intuniqueCodeprotected booleanunmapprotected java.lang.StringuserName-
Fields inherited from class com.perforce.p4java.impl.generic.core.ServerResource
refreshable, server, updateable
-
Fields inherited from interface com.perforce.p4java.core.file.IFileSpec
HAVE_REVISION, HAVE_REVISION_STRING, HEAD_REVISION, HEAD_REVISION_STRING, NO_FILE_REVISION, NO_REVISION_STRING, NONE_REVISION, NONE_REVISION_STRING
-
-
Constructor Summary
Constructors Constructor Description FileSpec()Default constructor.FileSpec(FileSpecOpStatus status, java.lang.String errStr)Construct a filespec from an opstatus and error message pair.FileSpec(FileSpecOpStatus status, java.lang.String errStr, int rawCode)Construct a new FileSpec given the op status, an error string, and a raw code value returned from a Perforce server.FileSpec(FileSpecOpStatus status, java.lang.String errStr, int genericCode, int severityCode)Construct a FileSpec from an opstatus, error message, Perforce generic code, and Perforce severity code.FileSpec(FileSpecOpStatus status, java.lang.String errStr, java.lang.String codeStr)Construct a new FileSpec given the op status, an error string, and a raw code string returned from a Perforce server.FileSpec(FilePath path)Construct a FileSpec from a specific FilePath.FileSpec(FileSpec impl)Construct a new filespec from another filespec.FileSpec(java.lang.String pathStr)Given a candidate path string (which may include version and changelist annotations, at least), try to construct a corresponding file spec.FileSpec(java.lang.String pathStr, boolean parseAnnotations)Given a candidate path string (which may include version and changelist annotations, at least), try to construct a corresponding file spec.FileSpec(java.util.Map<java.lang.String,java.lang.Object> map, IServer server, int index)Try to construct a FileSpec from a passed-in map as returned from a Perforce server.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FileActiongetAction()java.lang.StringgetAnnotatedPathString(FilePath.PathType pathType)Get an annotated string representation of a Perforce file path associated with this Perforce file spec.java.lang.StringgetAnnotatedPreferredPathString()Get the annotated "preferred" path string for this file spec.java.util.List<IFileAnnotation>getAnnotations(DiffType wsOptions, boolean allResults, boolean useChangeNumbers, boolean followBranches)Get the file annotations associated with this file.java.util.List<IFileAnnotation>getAnnotations(GetFileAnnotationsOptions opts)Get the file annotations associated with this file.java.lang.StringgetBaseFile()java.lang.StringgetBaseName()intgetBaseRev()java.lang.StringgetBlobSha()java.lang.StringgetBranch()intgetChangelistId()Get the ID of the changelist associated with this file spec.java.lang.StringgetClientName()FilePathgetClientPath()Convenience method for getPath(CLIENT).java.lang.StringgetClientPathString()Convenience method for getPathString(CLIENT).java.lang.StringgetCommitSha()java.lang.StringgetContentResolveType()java.io.InputStreamgetContents(boolean noHeaderLine)Get the contents of this specific Perforce file revision from the Perforce depot as an InputStream.java.io.InputStreamgetContents(GetFileContentsOptions opts)Get the contents of this specific Perforce file revision from the Perforce depot as an InputStream.java.util.DategetDate()Get the Perforce date of this file spec.FilePathgetDepotPath()Convenience method for getPath(DEPOT).java.lang.StringgetDepotPathString()Convenience method for getPathString(DEPOT).java.lang.StringgetDiffStatus()Get the diff status for this file spec.intgetEndFromRev()intgetEndRevision()Get the end revision for this file spec, if any.intgetEndToRev()java.lang.StringgetFileType()java.lang.StringgetFromFile()intgetGenericCode()Get the Perforce generic code associated with the operation result.java.lang.StringgetHowResolved()java.lang.StringgetLabel()FilePathgetLocalPath()Convenience method for getPath(LOCAL).java.lang.StringgetLocalPathString()Convenience method for getPathString(LOCAL).FileSpecOpStatusgetOpStatus()Return the particular Perforce operation status associated with the specific Perforce file spec operation.FilePathgetOriginalPath()Convenience method for getPath(ORIGINAL).java.lang.StringgetOriginalPathString()Convenience method for getPathString(ORIGINAL).FileActiongetOtherAction()FilePathgetPath(FilePath.PathType pathType)Get the specific depot, client, local, or original Perforce file path associated with this file spec.java.lang.StringgetPathString(FilePath.PathType pathType)Get the unannotated path string for this Perforce file.FilePathgetPreferredPath()Get the "preferred" path for this file spec.java.lang.StringgetPreferredPathString()Get the (unannotated) "preferred" path string for this file spec.intgetRawCode()Get the Perforce raw code associated with the operation result.java.lang.StringgetRepoName()java.lang.StringgetResolveType()java.util.List<java.lang.String>getResolveTypes()static intgetRevFromString(java.lang.String str)java.util.Map<IFileSpec,java.util.List<IFileRevisionData>>getRevisionHistory(int maxRevs, boolean contentHistory, boolean includeInherited, boolean longOutput, boolean truncatedLongOutput)Get the revision history of this Perforce file.java.util.Map<IFileSpec,java.util.List<IFileRevisionData>>getRevisionHistory(GetRevisionHistoryOptions opts)Get the revision history of this Perforce file.intgetSeverityCode()Get the Perforce severity code associated with the operation result.java.lang.StringgetSha()intgetShelvedChange()intgetStartFromRev()intgetStartRevision()intgetStartToRev()java.lang.StringgetStatusMessage()Return the status message associated with the operation (this may be an error or informational message, depending on the operation).intgetSubCode()Get the Perforce 'sub' code associated with the operation result.intgetSubSystem()Get the Perforce sub system code associated with the operation result.longgetSyncTime()java.lang.StringgetToFile()java.lang.StringgetTreeSha()intgetUniqueCode()Get the Perforce 'unqieu' code associated with the operation result.java.lang.StringgetUserName()intgetWorkRev()booleanisLocked()booleanisUnmap()java.util.List<IFileSpec>move(int changelistId, boolean listOnly, boolean noClientMove, java.lang.String fileType, IFileSpec toFile)Move this file if it's already opened for edit or add (the fromFile) to the destination file (the toFile).java.util.List<IFileSpec>move(IFileSpec toFile, MoveFileOptions opts)Move this file if it's already opened for edit or add (the fromFile) to the destination file (the toFile).voidsetAction(FileAction action)Set the file action for this file spec.voidsetBaseFile(java.lang.String baseFile)Set the base file on this object.voidsetBaseName(java.lang.String baseName)Set the base name on this object.voidsetBaseRev(int baseRev)Set the base revision on this object.voidsetBlobSha(java.lang.String sha)voidsetBranch(java.lang.String branch)voidsetChangelistId(int changeListId)Set the changelist ID for this file spec.voidsetClient(IClient client)voidsetClientName(java.lang.String clientName)Set the Perforce client name for this file spec.voidsetClientPath(FilePath clientPath)voidsetClientPath(java.lang.String pathStr)Convenience method for setPath(new FilePath(PathType.CLIENT, pathStr));FileSpecsetCodes(int rawCode)Set the various error codes for this FileSpec to a value returned from the server or the RPC layer.voidsetCommitSha(java.lang.String sha)voidsetContentResolveType(java.lang.String contentResolveType)Set the content resolve type for this file spec.voidsetDate(java.util.Date date)Set the date for this file spec.voidsetDepotPath(FilePath depotPath)voidsetDepotPath(java.lang.String pathStr)Convenience method for setPath(new FilePath(PathType.DEPOT, pathStr));voidsetDiffStatus(java.lang.String diffStatus)Set the diff status for this file spec.voidsetEndFromRev(int endFromRev)Set the end from revision for this file spec.voidsetEndRevision(int endRevision)Set the end revision for this file spec.voidsetEndToRev(int endToRev)Set the end to revision for this file spec.voidsetFileType(java.lang.String fileType)Set the file type for this file spec.voidsetFromFile(java.lang.String fromFile)Set the from file for this file spec.voidsetHowResolved(java.lang.String howResolved)Set the "how resolved" string for this file spec.voidsetLabel(java.lang.String label)Set the label associated with this file spec.voidsetLocalPath(FilePath localPath)voidsetLocalPath(java.lang.String pathStr)Convenience method for setPath(new FilePath(PathType.LOCAL, pathStr));voidsetLocked(boolean locked)Set the locked status for this file spec.voidsetOpStatus(FileSpecOpStatus opStatus)voidsetOriginalPath(FilePath path)voidsetOriginalPath(java.lang.String pathStr)Convenience method for setPath(new FilePath(PathType.ORIGINAL, pathStr));voidsetOtherAction(FileAction otherAction)Set the other action for this file spec.voidsetPath(FilePath filePath)Set a Perforce file path associated with this file spec.voidsetPathFromString(FilePath.PathType pathType, java.lang.String pathStr)Set a specific Perforce file path for this file spec from a passed-in string.voidsetRepoName(java.lang.String repoName)voidsetResolveType(java.lang.String resolveType)Set the resolve type for this file spec.voidsetResolveTypes(java.util.List<java.lang.String> types)voidsetSha(java.lang.String sha)voidsetShelvedChange(int shelvedChange)Set the shelved change for this file spec.voidsetStartFromRev(int startFromRev)Set the end from revision for this file spec.voidsetStartRevision(int startRevision)Set the start revision for this file spec.voidsetStartToRev(int startToRev)Set the start to revision for this file spec.voidsetStatusMessage(java.lang.String statusMessage)voidsetSyncTime(long syncTime)voidsetToFile(java.lang.String toFile)Set the to file for this file spec.voidsetTreeSha(java.lang.String sha)voidsetUnmap(boolean unmap)Set the unmap status value for this file spec.voidsetUserName(java.lang.String userName)Set the Perforce user name for this file spec.voidsetWorkRev(int workRev)Set the work revision for this file spec.java.lang.StringtoString()Useful alias for getPreferredPathString().-
Methods inherited from class com.perforce.p4java.impl.generic.core.ServerResource
canRefresh, canUpdate, clearRawFields, complete, getRawField, getRawFields, hasRawField, parseDate, refresh, setRawField, setRawFields, setRefreshable, setServer, toDateString, update, update, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.perforce.p4java.core.IServerResource
canRefresh, canUpdate, clearRawFields, complete, getRawField, getRawFields, hasRawField, refresh, setRawField, setRawFields, setServer, update, update, update
-
-
-
-
Field Detail
-
opStatus
protected FileSpecOpStatus opStatus
-
statusMessage
protected java.lang.String statusMessage
-
genericCode
protected int genericCode
-
severityCode
protected int severityCode
-
rawCode
protected int rawCode
-
uniqueCode
protected int uniqueCode
-
subCode
protected int subCode
-
subSystem
protected int subSystem
-
originalPath
protected FilePath originalPath
-
depotPath
protected FilePath depotPath
-
clientPath
protected FilePath clientPath
-
localPath
protected FilePath localPath
-
fileType
protected java.lang.String fileType
-
startRevision
protected int startRevision
-
endRevision
protected int endRevision
-
changeListId
protected int changeListId
-
label
protected java.lang.String label
-
date
protected java.util.Date date
-
action
protected FileAction action
-
userName
protected java.lang.String userName
-
clientName
protected java.lang.String clientName
-
baseRev
protected int baseRev
-
baseName
protected java.lang.String baseName
-
baseFile
protected java.lang.String baseFile
-
unmap
protected boolean unmap
-
repoName
protected java.lang.String repoName
-
sha
protected java.lang.String sha
-
branch
protected java.lang.String branch
-
blobSha
protected java.lang.String blobSha
-
commitSha
protected java.lang.String commitSha
-
treeSha
protected java.lang.String treeSha
-
client
protected IClient client
-
-
Constructor Detail
-
FileSpec
public FileSpec()
Default constructor. Sets all paths, labels, dates, etc. to null; revisions to IFileSpec.NO_FILE_REVISION; client and server references to null; changelist ID to IChangelist.UNKNOWN; opStatus to VALID; locked to false, etc.
-
FileSpec
public FileSpec(java.lang.String pathStr)
Given a candidate path string (which may include version and changelist annotations, at least), try to construct a corresponding file spec.Effectively an alias for FileSpec(pathStr, true).
- Parameters:
pathStr- candidate path string
-
FileSpec
public FileSpec(java.lang.String pathStr, boolean parseAnnotations)Given a candidate path string (which may include version and changelist annotations, at least), try to construct a corresponding file spec.The motivation for the hasAnnotations parameter is to allow path strings to contain "@" and "#" characters; the downside of this that if there's any associated annotation info, it's not parsed at all and any such information must be set up manually.
- Parameters:
pathStr- candidate path stringparseAnnotations- if true, attempt to parse the path string for revision annotations.
-
FileSpec
public FileSpec(FilePath path)
Construct a FileSpec from a specific FilePath.- Parameters:
path- path
-
FileSpec
public FileSpec(FileSpecOpStatus status, java.lang.String errStr)
Construct a filespec from an opstatus and error message pair.- Parameters:
status- statuserrStr- errStr
-
FileSpec
public FileSpec(FileSpecOpStatus status, java.lang.String errStr, int genericCode, int severityCode)
Construct a FileSpec from an opstatus, error message, Perforce generic code, and Perforce severity code.- Parameters:
status- statuserrStr- errStrgenericCode- genericCodeseverityCode- severityCode
-
FileSpec
public FileSpec(FileSpecOpStatus status, java.lang.String errStr, java.lang.String codeStr)
Construct a new FileSpec given the op status, an error string, and a raw code string returned from a Perforce server.- Parameters:
status- statuserrStr- errStrcodeStr- codeStr
-
FileSpec
public FileSpec(FileSpecOpStatus status, java.lang.String errStr, int rawCode)
Construct a new FileSpec given the op status, an error string, and a raw code value returned from a Perforce server.- Parameters:
status- statuserrStr- errStrrawCode- rawCode
-
FileSpec
public FileSpec(FileSpec impl)
Construct a new filespec from another filespec. In other words, effectively clone it by deep copy of local fields.- Parameters:
impl- non-null existing filespec.
-
FileSpec
public FileSpec(@Nullable java.util.Map<java.lang.String,java.lang.Object> map, @Nonnull IServer server, int index)Try to construct a FileSpec from a passed-in map as returned from a Perforce server. Tuned to return values from the underlying map-based server interface, which explains the index (set this to zero for normal use).- Parameters:
map- mapserver- serverindex- index
-
-
Method Detail
-
setCodes
public FileSpec setCodes(int rawCode)
Set the various error codes for this FileSpec to a value returned from the server or the RPC layer. Use this if you're hand-constructing a new FileSpec for an error condition and you have the raw code.- Parameters:
rawCode- rawCode- Returns:
- file spec
-
getPath
public FilePath getPath(@Nullable FilePath.PathType pathType)
Description copied from interface:IFileSpecGet the specific depot, client, local, or original Perforce file path associated with this file spec. Will be null if no such path exists for this file spec.
-
setPath
public void setPath(@Nullable FilePath filePath)Description copied from interface:IFileSpecSet a Perforce file path associated with this file spec. If path or path.getPathType() is null, the passed-in path type is assumed to be ORIGINAL.
-
getAction
public FileAction getAction()
-
getChangelistId
public int getChangelistId()
Description copied from interface:IFileSpecGet the ID of the changelist associated with this file spec. Returns IChangelist.UNKNOWN if no changelist ID has been set.- Specified by:
getChangelistIdin interfaceIFileSpec- Returns:
- change
-
getSyncTime
public long getSyncTime()
- Specified by:
getSyncTimein interfaceIFileSpec
-
setSyncTime
public void setSyncTime(long syncTime)
- Specified by:
setSyncTimein interfaceIFileSpec
-
getClientName
public java.lang.String getClientName()
- Specified by:
getClientNamein interfaceIFileSpec- Returns:
- the name of the client associated with this file spec, or null if not set or known.
-
getClientPath
public FilePath getClientPath()
Description copied from interface:IFileSpecConvenience method for getPath(CLIENT).- Specified by:
getClientPathin interfaceIFileSpec- Returns:
- client path
-
getContents
public java.io.InputStream getContents(boolean noHeaderLine) throws ConnectionException, RequestException, AccessExceptionDescription copied from interface:IFileSpecGet the contents of this specific Perforce file revision from the Perforce depot as an InputStream. Note that the contents are retrieved from the depot, not from the (possibly-changed) local Perforce client workspace copy). This method is basically a convenience wrapper for the IServer.getFileContents() method.You should close the InputStream after use in order to release any underlying stream-related resources. Failure to do this may lead to the proliferation of temp files or long-term memory wastage or even leaks.
- Specified by:
getContentsin interfaceIFileSpec- Parameters:
noHeaderLine- if true, suppresses the initial line that displays the file name and revision- Returns:
- a non-null but possibly-empty InputStream onto the file's contents.
- Throws:
ConnectionException- if the Perforce server is unreachable or is not connected.RequestException- if the Perforce server encounters an error during its processing of the requestAccessException- if the Perforce server denies access to the caller
-
getContents
public java.io.InputStream getContents(GetFileContentsOptions opts) throws P4JavaException
Description copied from interface:IFileSpecGet the contents of this specific Perforce file revision from the Perforce depot as an InputStream. Note that the contents are retrieved from the depot, not from the (possibly-changed) local Perforce client workspace copy). This method is basically a convenience wrapper for the IOptionsServer.getFileContents() method.You should close the InputStream after use in order to release any underlying stream-related resources. Failure to do this may lead to the proliferation of temp files or long-term memory wastage or even leaks.
- Specified by:
getContentsin interfaceIFileSpec- Parameters:
opts- GetFileContents object describing optional parameters; if null, no options are set.- Returns:
- a non-null but possibly-empty InputStream onto the file's contents.
- Throws:
P4JavaException- if any error occurs in the processing of this method.
-
getDepotPath
public FilePath getDepotPath()
Description copied from interface:IFileSpecConvenience method for getPath(DEPOT).- Specified by:
getDepotPathin interfaceIFileSpec- Returns:
- depot path
-
getEndRevision
public int getEndRevision()
Description copied from interface:IFileSpecGet the end revision for this file spec, if any. Returns NO_FILE_REVISION if the revision hasn't been set or is unknown.- Specified by:
getEndRevisionin interfaceIFileSpec- Returns:
- revision
-
getFileType
public java.lang.String getFileType()
- Specified by:
getFileTypein interfaceIFileSpec- Returns:
- the file type string for this file spec, or null if not known.
-
getLabel
public java.lang.String getLabel()
-
getLocalPath
public FilePath getLocalPath()
Description copied from interface:IFileSpecConvenience method for getPath(LOCAL).- Specified by:
getLocalPathin interfaceIFileSpec- Returns:
- local path
-
getOpStatus
public FileSpecOpStatus getOpStatus()
Description copied from interface:IFileOperationResultReturn the particular Perforce operation status associated with the specific Perforce file spec operation.- Specified by:
getOpStatusin interfaceIFileOperationResult- Returns:
- non-null FileSpecOpStatus for the specific file spec return.
-
getPreferredPath
public FilePath getPreferredPath()
Description copied from interface:IFileSpecGet the "preferred" path for this file spec. A file spec's preferred path is defined to be the path specified (in order) the original path, the depot path, the client path, or the local path.- Specified by:
getPreferredPathin interfaceIFileSpec- Returns:
- possibly-null preferred path
-
getRevisionHistory
public java.util.Map<IFileSpec,java.util.List<IFileRevisionData>> getRevisionHistory(int maxRevs, boolean contentHistory, boolean includeInherited, boolean longOutput, boolean truncatedLongOutput) throws ConnectionException, RequestException, AccessException
Description copied from interface:IFileSpecGet the revision history of this Perforce file.Note that the revision history returned may contain more than one file if the includeInherited option is true; this is why the return is a map (keyed on depot file path) of revision lists rather than a simple list.
Behavior is undefined if both longOutput and truncatedLongOutput are true. If both are false, a short form of the description (prepared by the server) is returned.
- Specified by:
getRevisionHistoryin interfaceIFileSpec- Parameters:
maxRevs- if positive, return at most maxRev revisions for this file.contentHistory- if true, return the content historyincludeInherited- if true, causes inherited file history to be returned as well.longOutput- if true, return the full descriptions associated with each revisiontruncatedLongOutput- if true, return only the first 250 characters of each description.- Returns:
- a non-null map of lists of the revision data for the file.
- Throws:
ConnectionException- if the Perforce server is unreachable or is not connected.RequestException- if the Perforce server encounters an error during its processing of the requestAccessException- if the Perforce server denies access to the caller
-
getRevisionHistory
public java.util.Map<IFileSpec,java.util.List<IFileRevisionData>> getRevisionHistory(GetRevisionHistoryOptions opts) throws P4JavaException
Description copied from interface:IFileSpecGet the revision history of this Perforce file.Note that the revision history returned may contain more than one file if the includeInherited option is true; this is why the return is a map (keyed on depot file path) of revision lists rather than a simple list.
Behavior is undefined if both longOutput and truncatedLongOutput are true in the passed-in GetRevisionHistory object. If both are false, a short form of the description (prepared by the server) is returned.
- Specified by:
getRevisionHistoryin interfaceIFileSpec- Parameters:
opts- GetChangelistDiffs object describing optional parameters; if null, no options are set.- Returns:
- a non-null map of lists of the revision data for the file.
- Throws:
P4JavaException- if any error occurs in the processing of this method.
-
getAnnotations
public java.util.List<IFileAnnotation> getAnnotations(DiffType wsOptions, boolean allResults, boolean useChangeNumbers, boolean followBranches) throws ConnectionException, RequestException, AccessException
Description copied from interface:IFileSpecGet the file annotations associated with this file.- Specified by:
getAnnotationsin interfaceIFileSpec- Parameters:
wsOptions- DiffType describing the white space option to be used; if null, use default (no options), otherwise must be one of the whitespace options defined by the isWsOption method on DiffType.allResults- if true, include both deleted files and lines no longer present at the head revisionuseChangeNumbers- if true, annotate with change numbers rather than revision numbers with each linefollowBranches- if true, follow branches.- Returns:
- non-null (but possibly-empty) list of IFileAnnotation objects representing this file's version annotations.
- Throws:
ConnectionException- if the Perforce server is unreachable or is not connected.RequestException- if the Perforce server encounters an error during its processing of the requestAccessException- if the Perforce server denies access to the caller
-
getAnnotations
public java.util.List<IFileAnnotation> getAnnotations(GetFileAnnotationsOptions opts) throws P4JavaException
Description copied from interface:IFileSpecGet the file annotations associated with this file.- Specified by:
getAnnotationsin interfaceIFileSpec- Parameters:
opts- GetFileAnnotations object describing optional parameters; if null, no options are set.- Returns:
- non-null (but possibly-empty) list of IFileAnnotation objects representing this file's version annotations.
- Throws:
P4JavaException- if any error occurs in the processing of this method.
-
move
public java.util.List<IFileSpec> move(int changelistId, boolean listOnly, boolean noClientMove, java.lang.String fileType, IFileSpec toFile) throws ConnectionException, RequestException, AccessException
Description copied from interface:IFileSpecMove this file if it's already opened for edit or add (the fromFile) to the destination file (the toFile). A file can be moved many times before it is submitted; moving it back to its original location will reopen it for edit. The full semantics of this operation (which can be confusing) are found in the main 'p4 help' documentation.Note that the status of this file once the move has been performed may be indeterminate; you should discard this file and use the file returned, if any, or at least test this file's status.
Note that this operation is not supported on servers earlier than 2009.1; any attempt to use this on earlier servers will result in a RequestException with a suitable message. Similarly, not all underlying IServer implementations will work with this either, and will also result in a suitable RequestException.
- Specified by:
movein interfaceIFileSpec- Parameters:
changelistId- if not IChangelist.UNKNOWN, the files are opened in the numbered pending changelist instead of the 'default' changelist.listOnly- if true, don't actually perform the move, just return what would happen if the move was performednoClientMove- if true, bypasses the client file rename. See main IServer moveFiles comments for restrictions.fileType- if not null, the file is reopened as that filetype.toFile- the target file.- Returns:
- list of IFileSpec objects representing the results of this move
- Throws:
ConnectionException- if the Perforce server is unreachable or is not connected.RequestException- if the Perforce server encounters an error during its processing of the requestAccessException- if the Perforce server denies access to the caller
-
move
public java.util.List<IFileSpec> move(IFileSpec toFile, MoveFileOptions opts) throws P4JavaException
Description copied from interface:IFileSpecMove this file if it's already opened for edit or add (the fromFile) to the destination file (the toFile). A file can be moved many times before it is submitted; moving it back to its original location will reopen it for edit. The full semantics of this operation (which can be confusing) are found in the main 'p4 help' documentation.Note that the status of this file once the move has been performed may be indeterminate; you should discard this file and use the file returned, if any, or at least test this file's status.
Note that this operation is not supported on servers earlier than 2009.1; any attempt to use this on earlier servers will result in a RequestException with a suitable message. Similarly, not all underlying IServer implementations will work with this either, and will also result in a suitable RequestException.
- Specified by:
movein interfaceIFileSpec- Parameters:
toFile- the target file.opts- GetFileContents object describing optional parameters; if null, no options are set.- Returns:
- list of IFileSpec objects representing the results of this move.
- Throws:
P4JavaException- if any error occurs in the processing of this method.
-
getStartRevision
public int getStartRevision()
- Specified by:
getStartRevisionin interfaceIFileSpec- Returns:
- the start revision for this file spec, if any. Returns NO_FILE_REVISION if the revision hasn't been set or is unknown.
-
getStatusMessage
public java.lang.String getStatusMessage()
Description copied from interface:IFileOperationResultReturn the status message associated with the operation (this may be an error or informational message, depending on the operation). Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID.- Specified by:
getStatusMessagein interfaceIFileOperationResult- Returns:
- possibly-null Perforce operation message.
-
getSeverityCode
public int getSeverityCode()
Description copied from interface:IFileOperationResultGet the Perforce severity code associated with the operation result. Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID.- Specified by:
getSeverityCodein interfaceIFileOperationResult- Returns:
- integer severity code.
-
getGenericCode
public int getGenericCode()
Description copied from interface:IFileOperationResultGet the Perforce generic code associated with the operation result. Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID.- Specified by:
getGenericCodein interfaceIFileOperationResult- Returns:
- integer generic code.
-
getUserName
public java.lang.String getUserName()
- Specified by:
getUserNamein interfaceIFileSpec- Returns:
- the Perforce user name of the file's owner, or null if this is not set or known.
-
isLocked
public boolean isLocked()
-
getDiffStatus
public java.lang.String getDiffStatus()
Description copied from interface:IFileSpecGet the diff status for this file spec.- Specified by:
getDiffStatusin interfaceIFileSpec- Returns:
- diff status
-
getResolveType
public java.lang.String getResolveType()
- Specified by:
getResolveTypein interfaceIFileSpec- Returns:
- the resolve type for this file spec.
-
getContentResolveType
public java.lang.String getContentResolveType()
- Specified by:
getContentResolveTypein interfaceIFileSpec- Returns:
- the content resolve type for this file spec.
-
getShelvedChange
public int getShelvedChange()
- Specified by:
getShelvedChangein interfaceIFileSpec- Returns:
- the shelved change for this file spec.
-
setOpStatus
public void setOpStatus(FileSpecOpStatus opStatus)
-
setStatusMessage
public void setStatusMessage(java.lang.String statusMessage)
-
setOriginalPath
public void setOriginalPath(FilePath path)
-
setDepotPath
public void setDepotPath(FilePath depotPath)
-
setClientPath
public void setClientPath(FilePath clientPath)
-
setLocalPath
public void setLocalPath(FilePath localPath)
-
setFileType
public void setFileType(java.lang.String fileType)
Description copied from interface:IFileSpecSet the file type for this file spec.- Specified by:
setFileTypein interfaceIFileSpec- Parameters:
fileType- type
-
setStartRevision
public void setStartRevision(int startRevision)
Description copied from interface:IFileSpecSet the start revision for this file spec.- Specified by:
setStartRevisionin interfaceIFileSpec- Parameters:
startRevision- revision
-
setEndRevision
public void setEndRevision(int endRevision)
Description copied from interface:IFileSpecSet the end revision for this file spec.- Specified by:
setEndRevisionin interfaceIFileSpec- Parameters:
endRevision- revision
-
setChangelistId
public void setChangelistId(int changeListId)
Description copied from interface:IFileSpecSet the changelist ID for this file spec.- Specified by:
setChangelistIdin interfaceIFileSpec- Parameters:
changeListId- change
-
setLabel
public void setLabel(java.lang.String label)
Description copied from interface:IFileSpecSet the label associated with this file spec.
-
setAction
public void setAction(FileAction action)
Description copied from interface:IFileSpecSet the file action for this file spec.
-
setUserName
public void setUserName(java.lang.String userName)
Description copied from interface:IFileSpecSet the Perforce user name for this file spec.- Specified by:
setUserNamein interfaceIFileSpec- Parameters:
userName- userName
-
setClientName
public void setClientName(java.lang.String clientName)
Description copied from interface:IFileSpecSet the Perforce client name for this file spec.- Specified by:
setClientNamein interfaceIFileSpec- Parameters:
clientName- clientName
-
setClient
public void setClient(IClient client)
-
getEndFromRev
public int getEndFromRev()
- Specified by:
getEndFromRevin interfaceIFileSpec- Returns:
- the end "from" revision of the last integration, if any.
-
getEndToRev
public int getEndToRev()
- Specified by:
getEndToRevin interfaceIFileSpec- Returns:
- the end "from" revision of the last integration, if any.
-
getFromFile
public java.lang.String getFromFile()
- Specified by:
getFromFilein interfaceIFileSpec- Returns:
- the file this file spec was integrated from if any. Returns null if no such file.
-
getHowResolved
public java.lang.String getHowResolved()
- Specified by:
getHowResolvedin interfaceIFileSpec- Returns:
- a string representation of how the last resolve happened. Returns null if unknown or not relevant.
-
getOtherAction
public FileAction getOtherAction()
- Specified by:
getOtherActionin interfaceIFileSpec- Returns:
- the other action. Returns null if no such action.
-
getStartFromRev
public int getStartFromRev()
- Specified by:
getStartFromRevin interfaceIFileSpec- Returns:
- the start "from" revision of the last integration, if any.
-
getStartToRev
public int getStartToRev()
- Specified by:
getStartToRevin interfaceIFileSpec- Returns:
- the start "to" revision of the last integration, if any.
-
getToFile
public java.lang.String getToFile()
-
getWorkRev
public int getWorkRev()
- Specified by:
getWorkRevin interfaceIFileSpec- Returns:
- the work revision.
-
isUnmap
public boolean isUnmap()
-
setDate
public void setDate(java.util.Date date)
Description copied from interface:IFileSpecSet the date for this file spec.
-
setFromFile
public void setFromFile(java.lang.String fromFile)
Description copied from interface:IFileSpecSet the from file for this file spec.- Specified by:
setFromFilein interfaceIFileSpec- Parameters:
fromFile- pathStr
-
setEndFromRev
public void setEndFromRev(int endFromRev)
Description copied from interface:IFileSpecSet the end from revision for this file spec.- Specified by:
setEndFromRevin interfaceIFileSpec- Parameters:
endFromRev- rev
-
setStartFromRev
public void setStartFromRev(int startFromRev)
Description copied from interface:IFileSpecSet the end from revision for this file spec.- Specified by:
setStartFromRevin interfaceIFileSpec- Parameters:
startFromRev- rev
-
setToFile
public void setToFile(java.lang.String toFile)
Description copied from interface:IFileSpecSet the to file for this file spec.
-
setEndToRev
public void setEndToRev(int endToRev)
Description copied from interface:IFileSpecSet the end to revision for this file spec.- Specified by:
setEndToRevin interfaceIFileSpec- Parameters:
endToRev- rev
-
setStartToRev
public void setStartToRev(int startToRev)
Description copied from interface:IFileSpecSet the start to revision for this file spec.- Specified by:
setStartToRevin interfaceIFileSpec- Parameters:
startToRev- rev
-
setWorkRev
public void setWorkRev(int workRev)
Description copied from interface:IFileSpecSet the work revision for this file spec.- Specified by:
setWorkRevin interfaceIFileSpec- Parameters:
workRev- rev
-
setHowResolved
public void setHowResolved(java.lang.String howResolved)
Description copied from interface:IFileSpecSet the "how resolved" string for this file spec.- Specified by:
setHowResolvedin interfaceIFileSpec- Parameters:
howResolved- howStr
-
setOtherAction
public void setOtherAction(FileAction otherAction)
Description copied from interface:IFileSpecSet the other action for this file spec.- Specified by:
setOtherActionin interfaceIFileSpec- Parameters:
otherAction- action
-
setLocked
public void setLocked(boolean locked)
Description copied from interface:IFileSpecSet the locked status for this file spec.
-
setDiffStatus
public void setDiffStatus(java.lang.String diffStatus)
Description copied from interface:IFileSpecSet the diff status for this file spec.- Specified by:
setDiffStatusin interfaceIFileSpec- Parameters:
diffStatus- status
-
setResolveType
public void setResolveType(java.lang.String resolveType)
Description copied from interface:IFileSpecSet the resolve type for this file spec.- Specified by:
setResolveTypein interfaceIFileSpec- Parameters:
resolveType- resolve type
-
setContentResolveType
public void setContentResolveType(java.lang.String contentResolveType)
Description copied from interface:IFileSpecSet the content resolve type for this file spec.- Specified by:
setContentResolveTypein interfaceIFileSpec- Parameters:
contentResolveType- contentResolveType
-
setShelvedChange
public void setShelvedChange(int shelvedChange)
Description copied from interface:IFileSpecSet the shelved change for this file spec.- Specified by:
setShelvedChangein interfaceIFileSpec- Parameters:
shelvedChange- shelvedChange
-
setUnmap
public void setUnmap(boolean unmap)
Description copied from interface:IFileSpecSet the unmap status value for this file spec.
-
setRepoName
public void setRepoName(java.lang.String repoName)
- Specified by:
setRepoNamein interfaceIFileSpec
-
setBranch
public void setBranch(java.lang.String branch)
-
getBlobSha
public java.lang.String getBlobSha()
- Specified by:
getBlobShain interfaceIFileSpec
-
setBlobSha
public void setBlobSha(java.lang.String sha)
- Specified by:
setBlobShain interfaceIFileSpec
-
getCommitSha
public java.lang.String getCommitSha()
- Specified by:
getCommitShain interfaceIFileSpec
-
setCommitSha
public void setCommitSha(java.lang.String sha)
- Specified by:
setCommitShain interfaceIFileSpec
-
getTreeSha
public java.lang.String getTreeSha()
- Specified by:
getTreeShain interfaceIFileSpec
-
setTreeSha
public void setTreeSha(java.lang.String sha)
- Specified by:
setTreeShain interfaceIFileSpec
-
getRevFromString
public static int getRevFromString(java.lang.String str)
-
getClientPathString
public java.lang.String getClientPathString()
Description copied from interface:IFileSpecConvenience method for getPathString(CLIENT).- Specified by:
getClientPathStringin interfaceIFileSpec- Returns:
- client path
-
getDepotPathString
public java.lang.String getDepotPathString()
Description copied from interface:IFileSpecConvenience method for getPathString(DEPOT).- Specified by:
getDepotPathStringin interfaceIFileSpec- Returns:
- depot path
-
getLocalPathString
public java.lang.String getLocalPathString()
Description copied from interface:IFileSpecConvenience method for getPathString(LOCAL).- Specified by:
getLocalPathStringin interfaceIFileSpec- Returns:
- local path
-
getOriginalPath
public FilePath getOriginalPath()
Description copied from interface:IFileSpecConvenience method for getPath(ORIGINAL).- Specified by:
getOriginalPathin interfaceIFileSpec- Returns:
- path
-
getOriginalPathString
public java.lang.String getOriginalPathString()
Description copied from interface:IFileSpecConvenience method for getPathString(ORIGINAL).- Specified by:
getOriginalPathStringin interfaceIFileSpec- Returns:
- path
-
getPathString
public java.lang.String getPathString(FilePath.PathType pathType)
Description copied from interface:IFileSpecGet the unannotated path string for this Perforce file.- Specified by:
getPathStringin interfaceIFileSpec- Parameters:
pathType- if null or PathType.ORIGINAL, return the original path for this file spec, otherwise return the specified path for this file spec.- Returns:
- possibly-null non-annotated Perforce file path string representation.
-
getAnnotatedPathString
public java.lang.String getAnnotatedPathString(FilePath.PathType pathType)
Description copied from interface:IFileSpecGet an annotated string representation of a Perforce file path associated with this Perforce file spec. "Annotated" in this context means any known Perforce version / changelist (etc.) information is appended in standard Perforce format to the end of the returned string.- Specified by:
getAnnotatedPathStringin interfaceIFileSpec- Parameters:
pathType- if null or PathType.ORIGINAL, return the original path for this file spec, otherwise return the specified path for this file spec.- Returns:
- possibly-null annotated Perforce file path string representation.
-
getPreferredPathString
public java.lang.String getPreferredPathString()
Description copied from interface:IFileSpecGet the (unannotated) "preferred" path string for this file spec. A file spec's preferred path is defined to be the path specified by (in order) the original path, the depot path, the client path, or the local path.- Specified by:
getPreferredPathStringin interfaceIFileSpec- Returns:
- possibly-null annotated preferred path string.
-
getAnnotatedPreferredPathString
public java.lang.String getAnnotatedPreferredPathString()
Description copied from interface:IFileSpecGet the annotated "preferred" path string for this file spec. A file spec's preferred path is defined to be the path specified by (in order) the original path, the depot path, the client path, or the local path. This method appends any relevant revision / changelist (etc.) information to the path string if it exists.- Specified by:
getAnnotatedPreferredPathStringin interfaceIFileSpec- Returns:
- possibly-null annotated preferred path string.
-
toString
public java.lang.String toString()
Description copied from interface:IFileSpecUseful alias for getPreferredPathString().
-
setPathFromString
public void setPathFromString(FilePath.PathType pathType, java.lang.String pathStr)
Description copied from interface:IFileSpecSet a specific Perforce file path for this file spec from a passed-in string. Any file revision / changelist (etc.) information appended to the pathStr parameter is stripped off before the path is set.- Specified by:
setPathFromStringin interfaceIFileSpec- Parameters:
pathType- if null or PathType.ORIGINAL, sets the original path for this file spec, otherwise sets the specified path for this file spec.pathStr- possibly-null, possibly-annotated path string
-
getDate
public java.util.Date getDate()
Description copied from interface:IFileSpecGet the Perforce date of this file spec. Returns null if no date has been set.
-
setClientPath
public void setClientPath(java.lang.String pathStr)
Description copied from interface:IFileSpecConvenience method for setPath(new FilePath(PathType.CLIENT, pathStr));- Specified by:
setClientPathin interfaceIFileSpec- Parameters:
pathStr- path
-
setDepotPath
public void setDepotPath(java.lang.String pathStr)
Description copied from interface:IFileSpecConvenience method for setPath(new FilePath(PathType.DEPOT, pathStr));- Specified by:
setDepotPathin interfaceIFileSpec- Parameters:
pathStr- path
-
setLocalPath
public void setLocalPath(java.lang.String pathStr)
Description copied from interface:IFileSpecConvenience method for setPath(new FilePath(PathType.LOCAL, pathStr));- Specified by:
setLocalPathin interfaceIFileSpec- Parameters:
pathStr- path
-
setOriginalPath
public void setOriginalPath(java.lang.String pathStr)
Description copied from interface:IFileSpecConvenience method for setPath(new FilePath(PathType.ORIGINAL, pathStr));- Specified by:
setOriginalPathin interfaceIFileSpec- Parameters:
pathStr- path
-
getBaseRev
public int getBaseRev()
- Specified by:
getBaseRevin interfaceIFileSpec- Returns:
- the base revision as reported by integ -o or equivalent. This may be NO_FILE_REVISION if no base revision exists.
-
setBaseRev
public void setBaseRev(int baseRev)
Description copied from interface:IFileSpecSet the base revision on this object. Makes no sense for general users to call this.- Specified by:
setBaseRevin interfaceIFileSpec- Parameters:
baseRev- rev
-
getBaseName
public java.lang.String getBaseName()
- Specified by:
getBaseNamein interfaceIFileSpec- Returns:
- the base name as reported by integ -o or equivalent. This may be null if no base name exists.
-
setBaseName
public void setBaseName(java.lang.String baseName)
Description copied from interface:IFileSpecSet the base name on this object. Makes no sense for general users to call this.- Specified by:
setBaseNamein interfaceIFileSpec- Parameters:
baseName- basename
-
getBaseFile
public java.lang.String getBaseFile()
- Specified by:
getBaseFilein interfaceIFileSpec- Returns:
- the base file as reported by resolve -o or equivalent. This may be null if no base file exists.
-
setBaseFile
public void setBaseFile(java.lang.String baseFile)
Description copied from interface:IFileSpecSet the base file on this object. Makes no sense for general users to call this.- Specified by:
setBaseFilein interfaceIFileSpec- Parameters:
baseFile- basefile
-
getRawCode
public int getRawCode()
Description copied from interface:IFileOperationResultGet the Perforce raw code associated with the operation result. Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID, and the status was set as the result of a server-side issue.- Specified by:
getRawCodein interfaceIFileOperationResult- Returns:
- raw code
-
getUniqueCode
public int getUniqueCode()
Description copied from interface:IFileOperationResultGet the Perforce 'unqieu' code associated with the operation result. Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID, and the status was set as the result of a server-side issue.- Specified by:
getUniqueCodein interfaceIFileOperationResult- Returns:
- 'unqieu' code
-
getSubCode
public int getSubCode()
Description copied from interface:IFileOperationResultGet the Perforce 'sub' code associated with the operation result. Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID, and the status was set as the result of a server-side issue.- Specified by:
getSubCodein interfaceIFileOperationResult- Returns:
- 'sub' code
-
getSubSystem
public int getSubSystem()
Description copied from interface:IFileOperationResultGet the Perforce sub system code associated with the operation result. Will only be meaningful if the associated op status returned by getOpStatus() is neither UNKNOWN nor VALID, and the status was set as the result of a server-side issue.- Specified by:
getSubSystemin interfaceIFileOperationResult- Returns:
- sub system code
-
getRepoName
public java.lang.String getRepoName()
- Specified by:
getRepoNamein interfaceIFileSpec
-
getResolveTypes
public java.util.List<java.lang.String> getResolveTypes()
- Specified by:
getResolveTypesin interfaceIFileSpec
-
setResolveTypes
public void setResolveTypes(java.util.List<java.lang.String> types)
- Specified by:
setResolveTypesin interfaceIFileSpec
-
-