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 FileAction
action
protected java.lang.String
baseFile
protected java.lang.String
baseName
protected int
baseRev
protected java.lang.String
blobSha
protected java.lang.String
branch
protected int
changeListId
protected IClient
client
protected java.lang.String
clientName
protected FilePath
clientPath
protected java.lang.String
commitSha
protected java.util.Date
date
protected FilePath
depotPath
protected int
endRevision
protected java.lang.String
fileType
protected int
genericCode
protected java.lang.String
label
protected FilePath
localPath
protected FileSpecOpStatus
opStatus
protected FilePath
originalPath
protected int
rawCode
protected java.lang.String
repoName
protected int
severityCode
protected java.lang.String
sha
protected int
startRevision
protected java.lang.String
statusMessage
protected int
subCode
protected int
subSystem
protected java.lang.String
treeSha
protected int
uniqueCode
protected boolean
unmap
protected java.lang.String
userName
-
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 FileAction
getAction()
java.lang.String
getAnnotatedPathString(FilePath.PathType pathType)
Get an annotated string representation of a Perforce file path associated with this Perforce file spec.java.lang.String
getAnnotatedPreferredPathString()
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.String
getBaseFile()
java.lang.String
getBaseName()
int
getBaseRev()
java.lang.String
getBlobSha()
java.lang.String
getBranch()
int
getChangelistId()
Get the ID of the changelist associated with this file spec.java.lang.String
getClientName()
FilePath
getClientPath()
Convenience method for getPath(CLIENT).java.lang.String
getClientPathString()
Convenience method for getPathString(CLIENT).java.lang.String
getCommitSha()
java.lang.String
getContentResolveType()
java.io.InputStream
getContents(boolean noHeaderLine)
Get the contents of this specific Perforce file revision from the Perforce depot as an InputStream.java.io.InputStream
getContents(GetFileContentsOptions opts)
Get the contents of this specific Perforce file revision from the Perforce depot as an InputStream.java.util.Date
getDate()
Get the Perforce date of this file spec.FilePath
getDepotPath()
Convenience method for getPath(DEPOT).java.lang.String
getDepotPathString()
Convenience method for getPathString(DEPOT).java.lang.String
getDiffStatus()
Get the diff status for this file spec.int
getEndFromRev()
int
getEndRevision()
Get the end revision for this file spec, if any.int
getEndToRev()
java.lang.String
getFileType()
java.lang.String
getFromFile()
int
getGenericCode()
Get the Perforce generic code associated with the operation result.java.lang.String
getHowResolved()
java.lang.String
getLabel()
FilePath
getLocalPath()
Convenience method for getPath(LOCAL).java.lang.String
getLocalPathString()
Convenience method for getPathString(LOCAL).FileSpecOpStatus
getOpStatus()
Return the particular Perforce operation status associated with the specific Perforce file spec operation.FilePath
getOriginalPath()
Convenience method for getPath(ORIGINAL).java.lang.String
getOriginalPathString()
Convenience method for getPathString(ORIGINAL).FileAction
getOtherAction()
FilePath
getPath(FilePath.PathType pathType)
Get the specific depot, client, local, or original Perforce file path associated with this file spec.java.lang.String
getPathString(FilePath.PathType pathType)
Get the unannotated path string for this Perforce file.FilePath
getPreferredPath()
Get the "preferred" path for this file spec.java.lang.String
getPreferredPathString()
Get the (unannotated) "preferred" path string for this file spec.int
getRawCode()
Get the Perforce raw code associated with the operation result.java.lang.String
getRepoName()
java.lang.String
getResolveType()
java.util.List<java.lang.String>
getResolveTypes()
static int
getRevFromString(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.int
getSeverityCode()
Get the Perforce severity code associated with the operation result.java.lang.String
getSha()
int
getShelvedChange()
int
getStartFromRev()
int
getStartRevision()
int
getStartToRev()
java.lang.String
getStatusMessage()
Return the status message associated with the operation (this may be an error or informational message, depending on the operation).int
getSubCode()
Get the Perforce 'sub' code associated with the operation result.int
getSubSystem()
Get the Perforce sub system code associated with the operation result.long
getSyncTime()
java.lang.String
getToFile()
java.lang.String
getTreeSha()
int
getUniqueCode()
Get the Perforce 'unqieu' code associated with the operation result.java.lang.String
getUserName()
int
getWorkRev()
boolean
isLocked()
boolean
isUnmap()
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).void
setAction(FileAction action)
Set the file action for this file spec.void
setBaseFile(java.lang.String baseFile)
Set the base file on this object.void
setBaseName(java.lang.String baseName)
Set the base name on this object.void
setBaseRev(int baseRev)
Set the base revision on this object.void
setBlobSha(java.lang.String sha)
void
setBranch(java.lang.String branch)
void
setChangelistId(int changeListId)
Set the changelist ID for this file spec.void
setClient(IClient client)
void
setClientName(java.lang.String clientName)
Set the Perforce client name for this file spec.void
setClientPath(FilePath clientPath)
void
setClientPath(java.lang.String pathStr)
Convenience method for setPath(new FilePath(PathType.CLIENT, pathStr));FileSpec
setCodes(int rawCode)
Set the various error codes for this FileSpec to a value returned from the server or the RPC layer.void
setCommitSha(java.lang.String sha)
void
setContentResolveType(java.lang.String contentResolveType)
Set the content resolve type for this file spec.void
setDate(java.util.Date date)
Set the date for this file spec.void
setDepotPath(FilePath depotPath)
void
setDepotPath(java.lang.String pathStr)
Convenience method for setPath(new FilePath(PathType.DEPOT, pathStr));void
setDiffStatus(java.lang.String diffStatus)
Set the diff status for this file spec.void
setEndFromRev(int endFromRev)
Set the end from revision for this file spec.void
setEndRevision(int endRevision)
Set the end revision for this file spec.void
setEndToRev(int endToRev)
Set the end to revision for this file spec.void
setFileType(java.lang.String fileType)
Set the file type for this file spec.void
setFromFile(java.lang.String fromFile)
Set the from file for this file spec.void
setHowResolved(java.lang.String howResolved)
Set the "how resolved" string for this file spec.void
setLabel(java.lang.String label)
Set the label associated with this file spec.void
setLocalPath(FilePath localPath)
void
setLocalPath(java.lang.String pathStr)
Convenience method for setPath(new FilePath(PathType.LOCAL, pathStr));void
setLocked(boolean locked)
Set the locked status for this file spec.void
setOpStatus(FileSpecOpStatus opStatus)
void
setOriginalPath(FilePath path)
void
setOriginalPath(java.lang.String pathStr)
Convenience method for setPath(new FilePath(PathType.ORIGINAL, pathStr));void
setOtherAction(FileAction otherAction)
Set the other action for this file spec.void
setPath(FilePath filePath)
Set a Perforce file path associated with this file spec.void
setPathFromString(FilePath.PathType pathType, java.lang.String pathStr)
Set a specific Perforce file path for this file spec from a passed-in string.void
setRepoName(java.lang.String repoName)
void
setResolveType(java.lang.String resolveType)
Set the resolve type for this file spec.void
setResolveTypes(java.util.List<java.lang.String> types)
void
setSha(java.lang.String sha)
void
setShelvedChange(int shelvedChange)
Set the shelved change for this file spec.void
setStartFromRev(int startFromRev)
Set the end from revision for this file spec.void
setStartRevision(int startRevision)
Set the start revision for this file spec.void
setStartToRev(int startToRev)
Set the start to revision for this file spec.void
setStatusMessage(java.lang.String statusMessage)
void
setSyncTime(long syncTime)
void
setToFile(java.lang.String toFile)
Set the to file for this file spec.void
setTreeSha(java.lang.String sha)
void
setUnmap(boolean unmap)
Set the unmap status value for this file spec.void
setUserName(java.lang.String userName)
Set the Perforce user name for this file spec.void
setWorkRev(int workRev)
Set the work revision for this file spec.java.lang.String
toString()
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:IFileSpec
Get 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:IFileSpec
Set 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:IFileSpec
Get the ID of the changelist associated with this file spec. Returns IChangelist.UNKNOWN if no changelist ID has been set.- Specified by:
getChangelistId
in interfaceIFileSpec
- Returns:
- change
-
getSyncTime
public long getSyncTime()
- Specified by:
getSyncTime
in interfaceIFileSpec
-
setSyncTime
public void setSyncTime(long syncTime)
- Specified by:
setSyncTime
in interfaceIFileSpec
-
getClientName
public java.lang.String getClientName()
- Specified by:
getClientName
in 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:IFileSpec
Convenience method for getPath(CLIENT).- Specified by:
getClientPath
in interfaceIFileSpec
- Returns:
- client path
-
getContents
public java.io.InputStream getContents(boolean noHeaderLine) throws ConnectionException, RequestException, AccessException
Description copied from interface:IFileSpec
Get 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:
getContents
in 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:IFileSpec
Get 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:
getContents
in 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:IFileSpec
Convenience method for getPath(DEPOT).- Specified by:
getDepotPath
in interfaceIFileSpec
- Returns:
- depot path
-
getEndRevision
public int getEndRevision()
Description copied from interface:IFileSpec
Get 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:
getEndRevision
in interfaceIFileSpec
- Returns:
- revision
-
getFileType
public java.lang.String getFileType()
- Specified by:
getFileType
in 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:IFileSpec
Convenience method for getPath(LOCAL).- Specified by:
getLocalPath
in interfaceIFileSpec
- Returns:
- local path
-
getOpStatus
public FileSpecOpStatus getOpStatus()
Description copied from interface:IFileOperationResult
Return the particular Perforce operation status associated with the specific Perforce file spec operation.- Specified by:
getOpStatus
in interfaceIFileOperationResult
- Returns:
- non-null FileSpecOpStatus for the specific file spec return.
-
getPreferredPath
public FilePath getPreferredPath()
Description copied from interface:IFileSpec
Get 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:
getPreferredPath
in 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:IFileSpec
Get 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:
getRevisionHistory
in 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:IFileSpec
Get 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:
getRevisionHistory
in 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:IFileSpec
Get the file annotations associated with this file.- Specified by:
getAnnotations
in 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:IFileSpec
Get the file annotations associated with this file.- Specified by:
getAnnotations
in 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:IFileSpec
Move 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:
move
in 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:IFileSpec
Move 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:
move
in 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:
getStartRevision
in 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:IFileOperationResult
Return 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:
getStatusMessage
in interfaceIFileOperationResult
- Returns:
- possibly-null Perforce operation message.
-
getSeverityCode
public int getSeverityCode()
Description copied from interface:IFileOperationResult
Get 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:
getSeverityCode
in interfaceIFileOperationResult
- Returns:
- integer severity code.
-
getGenericCode
public int getGenericCode()
Description copied from interface:IFileOperationResult
Get 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:
getGenericCode
in interfaceIFileOperationResult
- Returns:
- integer generic code.
-
getUserName
public java.lang.String getUserName()
- Specified by:
getUserName
in 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:IFileSpec
Get the diff status for this file spec.- Specified by:
getDiffStatus
in interfaceIFileSpec
- Returns:
- diff status
-
getResolveType
public java.lang.String getResolveType()
- Specified by:
getResolveType
in interfaceIFileSpec
- Returns:
- the resolve type for this file spec.
-
getContentResolveType
public java.lang.String getContentResolveType()
- Specified by:
getContentResolveType
in interfaceIFileSpec
- Returns:
- the content resolve type for this file spec.
-
getShelvedChange
public int getShelvedChange()
- Specified by:
getShelvedChange
in 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:IFileSpec
Set the file type for this file spec.- Specified by:
setFileType
in interfaceIFileSpec
- Parameters:
fileType
- type
-
setStartRevision
public void setStartRevision(int startRevision)
Description copied from interface:IFileSpec
Set the start revision for this file spec.- Specified by:
setStartRevision
in interfaceIFileSpec
- Parameters:
startRevision
- revision
-
setEndRevision
public void setEndRevision(int endRevision)
Description copied from interface:IFileSpec
Set the end revision for this file spec.- Specified by:
setEndRevision
in interfaceIFileSpec
- Parameters:
endRevision
- revision
-
setChangelistId
public void setChangelistId(int changeListId)
Description copied from interface:IFileSpec
Set the changelist ID for this file spec.- Specified by:
setChangelistId
in interfaceIFileSpec
- Parameters:
changeListId
- change
-
setLabel
public void setLabel(java.lang.String label)
Description copied from interface:IFileSpec
Set the label associated with this file spec.
-
setAction
public void setAction(FileAction action)
Description copied from interface:IFileSpec
Set the file action for this file spec.
-
setUserName
public void setUserName(java.lang.String userName)
Description copied from interface:IFileSpec
Set the Perforce user name for this file spec.- Specified by:
setUserName
in interfaceIFileSpec
- Parameters:
userName
- userName
-
setClientName
public void setClientName(java.lang.String clientName)
Description copied from interface:IFileSpec
Set the Perforce client name for this file spec.- Specified by:
setClientName
in interfaceIFileSpec
- Parameters:
clientName
- clientName
-
setClient
public void setClient(IClient client)
-
getEndFromRev
public int getEndFromRev()
- Specified by:
getEndFromRev
in interfaceIFileSpec
- Returns:
- the end "from" revision of the last integration, if any.
-
getEndToRev
public int getEndToRev()
- Specified by:
getEndToRev
in interfaceIFileSpec
- Returns:
- the end "from" revision of the last integration, if any.
-
getFromFile
public java.lang.String getFromFile()
- Specified by:
getFromFile
in 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:
getHowResolved
in interfaceIFileSpec
- Returns:
- a string representation of how the last resolve happened. Returns null if unknown or not relevant.
-
getOtherAction
public FileAction getOtherAction()
- Specified by:
getOtherAction
in interfaceIFileSpec
- Returns:
- the other action. Returns null if no such action.
-
getStartFromRev
public int getStartFromRev()
- Specified by:
getStartFromRev
in interfaceIFileSpec
- Returns:
- the start "from" revision of the last integration, if any.
-
getStartToRev
public int getStartToRev()
- Specified by:
getStartToRev
in interfaceIFileSpec
- Returns:
- the start "to" revision of the last integration, if any.
-
getToFile
public java.lang.String getToFile()
-
getWorkRev
public int getWorkRev()
- Specified by:
getWorkRev
in interfaceIFileSpec
- Returns:
- the work revision.
-
isUnmap
public boolean isUnmap()
-
setDate
public void setDate(java.util.Date date)
Description copied from interface:IFileSpec
Set the date for this file spec.
-
setFromFile
public void setFromFile(java.lang.String fromFile)
Description copied from interface:IFileSpec
Set the from file for this file spec.- Specified by:
setFromFile
in interfaceIFileSpec
- Parameters:
fromFile
- pathStr
-
setEndFromRev
public void setEndFromRev(int endFromRev)
Description copied from interface:IFileSpec
Set the end from revision for this file spec.- Specified by:
setEndFromRev
in interfaceIFileSpec
- Parameters:
endFromRev
- rev
-
setStartFromRev
public void setStartFromRev(int startFromRev)
Description copied from interface:IFileSpec
Set the end from revision for this file spec.- Specified by:
setStartFromRev
in interfaceIFileSpec
- Parameters:
startFromRev
- rev
-
setToFile
public void setToFile(java.lang.String toFile)
Description copied from interface:IFileSpec
Set the to file for this file spec.
-
setEndToRev
public void setEndToRev(int endToRev)
Description copied from interface:IFileSpec
Set the end to revision for this file spec.- Specified by:
setEndToRev
in interfaceIFileSpec
- Parameters:
endToRev
- rev
-
setStartToRev
public void setStartToRev(int startToRev)
Description copied from interface:IFileSpec
Set the start to revision for this file spec.- Specified by:
setStartToRev
in interfaceIFileSpec
- Parameters:
startToRev
- rev
-
setWorkRev
public void setWorkRev(int workRev)
Description copied from interface:IFileSpec
Set the work revision for this file spec.- Specified by:
setWorkRev
in interfaceIFileSpec
- Parameters:
workRev
- rev
-
setHowResolved
public void setHowResolved(java.lang.String howResolved)
Description copied from interface:IFileSpec
Set the "how resolved" string for this file spec.- Specified by:
setHowResolved
in interfaceIFileSpec
- Parameters:
howResolved
- howStr
-
setOtherAction
public void setOtherAction(FileAction otherAction)
Description copied from interface:IFileSpec
Set the other action for this file spec.- Specified by:
setOtherAction
in interfaceIFileSpec
- Parameters:
otherAction
- action
-
setLocked
public void setLocked(boolean locked)
Description copied from interface:IFileSpec
Set the locked status for this file spec.
-
setDiffStatus
public void setDiffStatus(java.lang.String diffStatus)
Description copied from interface:IFileSpec
Set the diff status for this file spec.- Specified by:
setDiffStatus
in interfaceIFileSpec
- Parameters:
diffStatus
- status
-
setResolveType
public void setResolveType(java.lang.String resolveType)
Description copied from interface:IFileSpec
Set the resolve type for this file spec.- Specified by:
setResolveType
in interfaceIFileSpec
- Parameters:
resolveType
- resolve type
-
setContentResolveType
public void setContentResolveType(java.lang.String contentResolveType)
Description copied from interface:IFileSpec
Set the content resolve type for this file spec.- Specified by:
setContentResolveType
in interfaceIFileSpec
- Parameters:
contentResolveType
- contentResolveType
-
setShelvedChange
public void setShelvedChange(int shelvedChange)
Description copied from interface:IFileSpec
Set the shelved change for this file spec.- Specified by:
setShelvedChange
in interfaceIFileSpec
- Parameters:
shelvedChange
- shelvedChange
-
setUnmap
public void setUnmap(boolean unmap)
Description copied from interface:IFileSpec
Set the unmap status value for this file spec.
-
setRepoName
public void setRepoName(java.lang.String repoName)
- Specified by:
setRepoName
in interfaceIFileSpec
-
setBranch
public void setBranch(java.lang.String branch)
-
getBlobSha
public java.lang.String getBlobSha()
- Specified by:
getBlobSha
in interfaceIFileSpec
-
setBlobSha
public void setBlobSha(java.lang.String sha)
- Specified by:
setBlobSha
in interfaceIFileSpec
-
getCommitSha
public java.lang.String getCommitSha()
- Specified by:
getCommitSha
in interfaceIFileSpec
-
setCommitSha
public void setCommitSha(java.lang.String sha)
- Specified by:
setCommitSha
in interfaceIFileSpec
-
getTreeSha
public java.lang.String getTreeSha()
- Specified by:
getTreeSha
in interfaceIFileSpec
-
setTreeSha
public void setTreeSha(java.lang.String sha)
- Specified by:
setTreeSha
in interfaceIFileSpec
-
getRevFromString
public static int getRevFromString(java.lang.String str)
-
getClientPathString
public java.lang.String getClientPathString()
Description copied from interface:IFileSpec
Convenience method for getPathString(CLIENT).- Specified by:
getClientPathString
in interfaceIFileSpec
- Returns:
- client path
-
getDepotPathString
public java.lang.String getDepotPathString()
Description copied from interface:IFileSpec
Convenience method for getPathString(DEPOT).- Specified by:
getDepotPathString
in interfaceIFileSpec
- Returns:
- depot path
-
getLocalPathString
public java.lang.String getLocalPathString()
Description copied from interface:IFileSpec
Convenience method for getPathString(LOCAL).- Specified by:
getLocalPathString
in interfaceIFileSpec
- Returns:
- local path
-
getOriginalPath
public FilePath getOriginalPath()
Description copied from interface:IFileSpec
Convenience method for getPath(ORIGINAL).- Specified by:
getOriginalPath
in interfaceIFileSpec
- Returns:
- path
-
getOriginalPathString
public java.lang.String getOriginalPathString()
Description copied from interface:IFileSpec
Convenience method for getPathString(ORIGINAL).- Specified by:
getOriginalPathString
in interfaceIFileSpec
- Returns:
- path
-
getPathString
public java.lang.String getPathString(FilePath.PathType pathType)
Description copied from interface:IFileSpec
Get the unannotated path string for this Perforce file.- Specified by:
getPathString
in 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:IFileSpec
Get 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:
getAnnotatedPathString
in 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:IFileSpec
Get 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:
getPreferredPathString
in interfaceIFileSpec
- Returns:
- possibly-null annotated preferred path string.
-
getAnnotatedPreferredPathString
public java.lang.String getAnnotatedPreferredPathString()
Description copied from interface:IFileSpec
Get 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:
getAnnotatedPreferredPathString
in interfaceIFileSpec
- Returns:
- possibly-null annotated preferred path string.
-
toString
public java.lang.String toString()
Description copied from interface:IFileSpec
Useful alias for getPreferredPathString().
-
setPathFromString
public void setPathFromString(FilePath.PathType pathType, java.lang.String pathStr)
Description copied from interface:IFileSpec
Set 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:
setPathFromString
in 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:IFileSpec
Get 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:IFileSpec
Convenience method for setPath(new FilePath(PathType.CLIENT, pathStr));- Specified by:
setClientPath
in interfaceIFileSpec
- Parameters:
pathStr
- path
-
setDepotPath
public void setDepotPath(java.lang.String pathStr)
Description copied from interface:IFileSpec
Convenience method for setPath(new FilePath(PathType.DEPOT, pathStr));- Specified by:
setDepotPath
in interfaceIFileSpec
- Parameters:
pathStr
- path
-
setLocalPath
public void setLocalPath(java.lang.String pathStr)
Description copied from interface:IFileSpec
Convenience method for setPath(new FilePath(PathType.LOCAL, pathStr));- Specified by:
setLocalPath
in interfaceIFileSpec
- Parameters:
pathStr
- path
-
setOriginalPath
public void setOriginalPath(java.lang.String pathStr)
Description copied from interface:IFileSpec
Convenience method for setPath(new FilePath(PathType.ORIGINAL, pathStr));- Specified by:
setOriginalPath
in interfaceIFileSpec
- Parameters:
pathStr
- path
-
getBaseRev
public int getBaseRev()
- Specified by:
getBaseRev
in 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:IFileSpec
Set the base revision on this object. Makes no sense for general users to call this.- Specified by:
setBaseRev
in interfaceIFileSpec
- Parameters:
baseRev
- rev
-
getBaseName
public java.lang.String getBaseName()
- Specified by:
getBaseName
in 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:IFileSpec
Set the base name on this object. Makes no sense for general users to call this.- Specified by:
setBaseName
in interfaceIFileSpec
- Parameters:
baseName
- basename
-
getBaseFile
public java.lang.String getBaseFile()
- Specified by:
getBaseFile
in 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:IFileSpec
Set the base file on this object. Makes no sense for general users to call this.- Specified by:
setBaseFile
in interfaceIFileSpec
- Parameters:
baseFile
- basefile
-
getRawCode
public int getRawCode()
Description copied from interface:IFileOperationResult
Get 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:
getRawCode
in interfaceIFileOperationResult
- Returns:
- raw code
-
getUniqueCode
public int getUniqueCode()
Description copied from interface:IFileOperationResult
Get 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:
getUniqueCode
in interfaceIFileOperationResult
- Returns:
- 'unqieu' code
-
getSubCode
public int getSubCode()
Description copied from interface:IFileOperationResult
Get 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:
getSubCode
in interfaceIFileOperationResult
- Returns:
- 'sub' code
-
getSubSystem
public int getSubSystem()
Description copied from interface:IFileOperationResult
Get 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:
getSubSystem
in interfaceIFileOperationResult
- Returns:
- sub system code
-
getRepoName
public java.lang.String getRepoName()
- Specified by:
getRepoName
in interfaceIFileSpec
-
getResolveTypes
public java.util.List<java.lang.String> getResolveTypes()
- Specified by:
getResolveTypes
in interfaceIFileSpec
-
setResolveTypes
public void setResolveTypes(java.util.List<java.lang.String> types)
- Specified by:
setResolveTypes
in interfaceIFileSpec
-
-