com.perforce.p4java.impl.generic.core.file
Class FileSpec

java.lang.Object
  extended by com.perforce.p4java.impl.generic.core.ServerResource
      extended by 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
protected  FileAction action
           
protected  String baseFile
           
protected  String baseName
           
protected  int baseRev
           
protected  int changeListId
           
protected  IClient client
           
protected  String clientName
           
protected  FilePath clientPath
           
protected  Date date
           
protected  FilePath depotPath
           
protected  int endRevision
           
protected  String fileType
           
protected  int genericCode
           
protected  String label
           
protected  FilePath localPath
           
protected  FileSpecOpStatus opStatus
           
protected  FilePath originalPath
           
protected  int rawCode
           
protected  int severityCode
           
protected  int startRevision
           
protected  String statusMessage
           
protected  int subCode
           
protected  int subSystem
           
protected  int uniqueCode
           
protected  boolean unmap
           
protected  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
FileSpec()
          Default constructor.
FileSpec(FilePath path)
          Construct a FileSpec from a specific FilePath.
FileSpec(FileSpec impl)
          Construct a new filespec from another filespec.
FileSpec(FileSpecOpStatus status, String errStr)
          Construct a filespec from an opstatus and error message pair.
FileSpec(FileSpecOpStatus status, 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, String errStr, int genericCode, int severityCode)
          Construct a FileSpec from an opstatus, error message, Perforce generic code, and Perforce severity code.
FileSpec(FileSpecOpStatus status, String errStr, String codeStr)
          Construct a new FileSpec given the op status, an error string, and a raw code string returned from a Perforce server.
FileSpec(Map<String,Object> map, IServer server, int index)
          Try to construct a FileSpec from a passed-in map as returned from a Perforce server.
FileSpec(String pathStr)
          Given a candidate path string (which may include version and changelist annotations, at least), try to construct a corresponding file spec.
FileSpec(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.
 
Method Summary
 FileAction getAction()
          Returns the file action associated with this file, if any.
 String getAnnotatedPathString(FilePath.PathType pathType)
          Get an annotated string representation of a Perforce file path associated with this Perforce file spec.
 String getAnnotatedPreferredPathString()
          Get the annotated "preferred" path string for this file spec.
 List<IFileAnnotation> getAnnotations(DiffType wsOptions, boolean allResults, boolean useChangeNumbers, boolean followBranches)
          Get the file annotations associated with this file.
 List<IFileAnnotation> getAnnotations(GetFileAnnotationsOptions opts)
          Get the file annotations associated with this file.
 String getBaseFile()
          Get the base file as reported by resolve -o or equivalent.
 String getBaseName()
          Get the base name as reported by integ -o or equivalent.
 int getBaseRev()
          Get the base revision as reported by integ -o or equivalent.
 int getChangelistId()
          Get the ID of the changelist associated with this file spec.
 String getClientName()
          Return the name of the client associated with this file spec, or null if not set or known.
 FilePath getClientPath()
          Convenience method for getPath(CLIENT).
 String getClientPathString()
          Convenience method for getPathString(CLIENT).
 String getContentResolveType()
          Get the content resolve type for this file spec.
 InputStream getContents(boolean noHeaderLine)
          Get the contents of this specific Perforce file revision from the Perforce depot as an InputStream.
 InputStream getContents(GetFileContentsOptions opts)
          Get the contents of this specific Perforce file revision from the Perforce depot as an InputStream.
 Date getDate()
          Get the Perforce date of this file spec.
 FilePath getDepotPath()
          Convenience method for getPath(DEPOT).
 String getDepotPathString()
          Convenience method for getPathString(DEPOT).
 String getDiffStatus()
          Get the diff status for this file spec.
 int getEndFromRev()
          Return the end "from" revision of the last integration, if any.
 int getEndRevision()
          Get the end revision for this file spec, if any.
 int getEndToRev()
          Return the end "from" revision of the last integration, if any.
 String getFileType()
          Returns the file type string for this file spec, or null if not known.
 String getFromFile()
          Get the file this file spec was integrated from if any.
 int getGenericCode()
          Get the Perforce generic code associated with the operation result.
 String getHowResolved()
          Return a string representation of how the last resolve happened.
 String getLabel()
          Get the label string associated with this file spec, if any.
 FilePath getLocalPath()
          Convenience method for getPath(LOCAL).
 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).
 String getOriginalPathString()
          Convenience method for getPathString(ORIGINAL).
 FileAction getOtherAction()
          Get the other action.
 FilePath getPath(FilePath.PathType pathType)
          Get the specific depot, client, local, or original Perforce file path associated with this file spec.
 String getPathString(FilePath.PathType pathType)
          Get the unannotated path string for this Perforce file.
 FilePath getPreferredPath()
          Get the "preferred" path for this file spec.
 String getPreferredPathString()
          Get the (unannotated) "preferred" path string for this file spec.
 int getRawCode()
          Get the Perforce raw code associated with the operation result.
 String getResolveType()
          Get the resolve type for this file spec.
static int getRevFromString(String str)
           
 Map<IFileSpec,List<IFileRevisionData>> getRevisionHistory(GetRevisionHistoryOptions opts)
          Get the revision history of this Perforce file.
 Map<IFileSpec,List<IFileRevisionData>> getRevisionHistory(int maxRevs, boolean contentHistory, boolean includeInherited, boolean longOutput, boolean truncatedLongOutput)
          Get the revision history of this Perforce file.
 int getSeverityCode()
          Get the Perforce severity code associated with the operation result.
 int getShelvedChange()
          Get the shelved change for this file spec.
 int getStartFromRev()
          Return the start "from" revision of the last integration, if any.
 int getStartRevision()
          Get the start revision for this file spec, if any.
 int getStartToRev()
          Return the start "to" revision of the last integration, if any.
 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.
 String getToFile()
          Get the "to" file for the integration, if it exists.
 int getUniqueCode()
          Get the Perforce 'unqieu' code associated with the operation result.
 String getUserName()
          Return the Perforce user name of the file's owner, or null if this is not set or known.
 int getWorkRev()
          Get the work revision.
 boolean isLocked()
          Returns true if the associated file has been locked.
 boolean isUnmap()
          Return if this file spec is not mapped.
 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).
 List<IFileSpec> move(int changelistId, boolean listOnly, boolean noClientMove, String fileType, IFileSpec toFile)
          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(String baseFile)
          Set the base file on this object.
 void setBaseName(String baseName)
          Set the base name on this object.
 void setBaseRev(int baseRev)
          Set the base revision on this object.
 void setChangelistId(int changeListId)
          Set the changelist ID for this file spec.
 void setClient(IClient client)
           
 void setClientName(String clientName)
          Set the Perforce client name for this file spec.
 void setClientPath(FilePath clientPath)
           
 void setClientPath(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 setContentResolveType(String contentResolveType)
          Set the content resolve type for this file spec.
 void setDate(Date date)
          Set the date for this file spec.
 void setDepotPath(FilePath depotPath)
           
 void setDepotPath(String pathStr)
          Convenience method for setPath(new FilePath(PathType.DEPOT, pathStr));
 void setDiffStatus(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(String fileType)
          Set the file type for this file spec.
 void setFromFile(String fromFile)
          Set the from file for this file spec.
 void setHowResolved(String howResolved)
          Set the "how resolved" string for this file spec.
 void setLabel(String label)
          Set the label associated with this file spec.
 void setLocalPath(FilePath localPath)
           
 void setLocalPath(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(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, String pathStr)
          Set a specific Perforce file path for this file spec from a passed-in string.
 void setResolveType(String resolveType)
          Set the resolve type for this file spec.
 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(String statusMessage)
           
 void setToFile(String toFile)
          Set the to file for this file spec.
 void setUnmap(boolean unmap)
          Set the unmap status value for this file spec.
 void setUserName(String userName)
          Set the Perforce user name for this file spec.
 void setWorkRev(int workRev)
          Set the work revision for this file spec.
 String toString()
          Alias for getAnnotatedPreferredPathString().
 
Methods inherited from class com.perforce.p4java.impl.generic.core.ServerResource
canRefresh, canUpdate, complete, refresh, setRefreshable, setServer, 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, refresh, setServer, update, update, update
 

Field Detail

opStatus

protected FileSpecOpStatus opStatus

statusMessage

protected 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 String fileType

startRevision

protected int startRevision

endRevision

protected int endRevision

changeListId

protected int changeListId

label

protected String label

date

protected Date date

action

protected FileAction action

userName

protected String userName

clientName

protected String clientName

baseRev

protected int baseRev

baseName

protected String baseName

baseFile

protected String baseFile

unmap

protected boolean unmap

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(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(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 string
parseAnnotations - if true, attempt to parse the path string for revision annotations.

FileSpec

public FileSpec(FilePath path)
Construct a FileSpec from a specific FilePath.


FileSpec

public FileSpec(FileSpecOpStatus status,
                String errStr)
Construct a filespec from an opstatus and error message pair.


FileSpec

public FileSpec(FileSpecOpStatus status,
                String errStr,
                int genericCode,
                int severityCode)
Construct a FileSpec from an opstatus, error message, Perforce generic code, and Perforce severity code.


FileSpec

public FileSpec(FileSpecOpStatus status,
                String errStr,
                String codeStr)
Construct a new FileSpec given the op status, an error string, and a raw code string returned from a Perforce server.


FileSpec

public FileSpec(FileSpecOpStatus status,
                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

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(Map<String,Object> map,
                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).

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.


getPath

public FilePath getPath(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.

Specified by:
getPath in interface IFileSpec
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 file path
See Also:
IFileSpec.getPath(com.perforce.p4java.impl.generic.core.file.FilePath.PathType)

setPath

public void setPath(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.

Specified by:
setPath in interface IFileSpec
Parameters:
filePath - candidate file path; may be null.
See Also:
IFileSpec.setPath(com.perforce.p4java.impl.generic.core.file.FilePath)

getAction

public FileAction getAction()
Description copied from interface: IFileSpec
Returns the file action associated with this file, if any. Returns null if no such action has been set.

Specified by:
getAction in interface IFileSpec
See Also:
IFileSpec.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 interface IFileSpec
See Also:
IFileSpec.getChangelistId()

getClientName

public String getClientName()
Description copied from interface: IFileSpec
Return the name of the client associated with this file spec, or null if not set or known.

Specified by:
getClientName in interface IFileSpec
See Also:
IFileSpec.getClientName()

getClientPath

public FilePath getClientPath()
Description copied from interface: IFileSpec
Convenience method for getPath(CLIENT).

Specified by:
getClientPath in interface IFileSpec
See Also:
IFileSpec.getClientPath()

getContents

public 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 interface IFileSpec
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 request
AccessException - if the Perforce server denies access to the caller
See Also:
IFileSpec.getContents(boolean)

getContents

public 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 interface IFileSpec
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.
See Also:
IFileSpec.getContents(com.perforce.p4java.option.server.GetFileContentsOptions)

getDepotPath

public FilePath getDepotPath()
Description copied from interface: IFileSpec
Convenience method for getPath(DEPOT).

Specified by:
getDepotPath in interface IFileSpec
See Also:
IFileSpec.getDepotPath()

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 interface IFileSpec
See Also:
IFileSpec.getEndRevision()

getFileType

public String getFileType()
Description copied from interface: IFileSpec
Returns the file type string for this file spec, or null if not known.

Specified by:
getFileType in interface IFileSpec
See Also:
IFileSpec.getFileType()

getLabel

public String getLabel()
Description copied from interface: IFileSpec
Get the label string associated with this file spec, if any. Returns null if no such label string has been set.

Specified by:
getLabel in interface IFileSpec
See Also:
IFileSpec.getLabel()

getLocalPath

public FilePath getLocalPath()
Description copied from interface: IFileSpec
Convenience method for getPath(LOCAL).

Specified by:
getLocalPath in interface IFileSpec
See Also:
IFileSpec.getLocalPath()

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 interface IFileOperationResult
Returns:
non-null FileSpecOpStatus for the specific file spec return.
See Also:
IFileOperationResult.getOpStatus()

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 interface IFileSpec
Returns:
possibly-null preferred path
See Also:
IFileSpec.getPreferredPath()

getRevisionHistory

public Map<IFileSpec,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 interface IFileSpec
Parameters:
maxRevs - if positive, return at most maxRev revisions for this file.
includeInherited - if true, causes inherited file history to be returned as well.
longOutput - if true, return the full descriptions associated with each revision
truncatedLongOutput - 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 request
AccessException - if the Perforce server denies access to the caller
See Also:
IFileSpec.getRevisionHistory(int, boolean, boolean, boolean, boolean)

getRevisionHistory

public Map<IFileSpec,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 interface IFileSpec
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.
See Also:
IFileSpec.getRevisionHistory(com.perforce.p4java.option.server.GetRevisionHistoryOptions)

getAnnotations

public 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 interface IFileSpec
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 revision
useChangeNumbers - if true, annotate with change numbers rather than revision numbers with each line
followBranches - 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 request
AccessException - if the Perforce server denies access to the caller
See Also:
IFileSpec.getAnnotations(com.perforce.p4java.core.file.DiffType, boolean, boolean, boolean)

getAnnotations

public List<IFileAnnotation> getAnnotations(GetFileAnnotationsOptions opts)
                                     throws P4JavaException
Description copied from interface: IFileSpec
Get the file annotations associated with this file.

Specified by:
getAnnotations in interface IFileSpec
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.
See Also:
IFileSpec.getAnnotations(com.perforce.p4java.option.server.GetFileAnnotationsOptions)

move

public List<IFileSpec> move(int changelistId,
                            boolean listOnly,
                            boolean noClientMove,
                            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 interface IFileSpec
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 performed
noClientMove - 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 request
AccessException - if the Perforce server denies access to the caller
See Also:
IFileSpec.move(int, boolean, boolean, java.lang.String, com.perforce.p4java.core.file.IFileSpec)

move

public 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 interface IFileSpec
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.
See Also:
IFileSpec.move(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.option.server.MoveFileOptions)

getStartRevision

public int getStartRevision()
Description copied from interface: IFileSpec
Get the start revision for this file spec, if any. Returns NO_FILE_REVISION if the revision hasn't been set or is unknown.

Specified by:
getStartRevision in interface IFileSpec
See Also:
IFileSpec.getStartRevision()

getStatusMessage

public 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 interface IFileOperationResult
Returns:
possibly-null Perforce operation message.
See Also:
IFileOperationResult.getStatusMessage()

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 interface IFileOperationResult
Returns:
integer severity code.
See Also:
IFileOperationResult.getSeverityCode()

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 interface IFileOperationResult
Returns:
integer generic code.
See Also:
IFileOperationResult.getGenericCode()

getUserName

public String getUserName()
Description copied from interface: IFileSpec
Return the Perforce user name of the file's owner, or null if this is not set or known.

Specified by:
getUserName in interface IFileSpec
See Also:
IFileSpec.getUserName()

isLocked

public boolean isLocked()
Description copied from interface: IFileSpec
Returns true if the associated file has been locked.

Specified by:
isLocked in interface IFileSpec
See Also:
IFileSpec.isLocked()

getDiffStatus

public String getDiffStatus()
Description copied from interface: IFileSpec
Get the diff status for this file spec.

Specified by:
getDiffStatus in interface IFileSpec
See Also:
IFileSpec.getDiffStatus()

getResolveType

public String getResolveType()
Description copied from interface: IFileSpec
Get the resolve type for this file spec.

Specified by:
getResolveType in interface IFileSpec

getContentResolveType

public String getContentResolveType()
Description copied from interface: IFileSpec
Get the content resolve type for this file spec.

Specified by:
getContentResolveType in interface IFileSpec

getShelvedChange

public int getShelvedChange()
Description copied from interface: IFileSpec
Get the shelved change for this file spec.

Specified by:
getShelvedChange in interface IFileSpec

setOpStatus

public void setOpStatus(FileSpecOpStatus opStatus)

setStatusMessage

public void setStatusMessage(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(String fileType)
Description copied from interface: IFileSpec
Set the file type for this file spec.

Specified by:
setFileType in interface IFileSpec

setStartRevision

public void setStartRevision(int startRevision)
Description copied from interface: IFileSpec
Set the start revision for this file spec.

Specified by:
setStartRevision in interface IFileSpec

setEndRevision

public void setEndRevision(int endRevision)
Description copied from interface: IFileSpec
Set the end revision for this file spec.

Specified by:
setEndRevision in interface IFileSpec

setChangelistId

public void setChangelistId(int changeListId)
Description copied from interface: IFileSpec
Set the changelist ID for this file spec.

Specified by:
setChangelistId in interface IFileSpec

setLabel

public void setLabel(String label)
Description copied from interface: IFileSpec
Set the label associated with this file spec.

Specified by:
setLabel in interface IFileSpec

setAction

public void setAction(FileAction action)
Description copied from interface: IFileSpec
Set the file action for this file spec.

Specified by:
setAction in interface IFileSpec

setUserName

public void setUserName(String userName)
Description copied from interface: IFileSpec
Set the Perforce user name for this file spec.

Specified by:
setUserName in interface IFileSpec

setClientName

public void setClientName(String clientName)
Description copied from interface: IFileSpec
Set the Perforce client name for this file spec.

Specified by:
setClientName in interface IFileSpec

setClient

public void setClient(IClient client)

getEndFromRev

public int getEndFromRev()
Description copied from interface: IFileSpec
Return the end "from" revision of the last integration, if any.

Specified by:
getEndFromRev in interface IFileSpec
See Also:
IFileSpec.getEndFromRev()

getEndToRev

public int getEndToRev()
Description copied from interface: IFileSpec
Return the end "from" revision of the last integration, if any.

Specified by:
getEndToRev in interface IFileSpec
See Also:
IFileSpec.getEndToRev()

getFromFile

public String getFromFile()
Description copied from interface: IFileSpec
Get the file this file spec was integrated from if any. Returns null if no such file.

Specified by:
getFromFile in interface IFileSpec
See Also:
IFileSpec.getFromFile()

getHowResolved

public String getHowResolved()
Description copied from interface: IFileSpec
Return a string representation of how the last resolve happened. Returns null if unknown or not relevant.

Specified by:
getHowResolved in interface IFileSpec
See Also:
IFileSpec.getHowResolved()

getOtherAction

public FileAction getOtherAction()
Description copied from interface: IFileSpec
Get the other action. Returns null if no such action.

Specified by:
getOtherAction in interface IFileSpec
See Also:
IFileSpec.getOtherAction()

getStartFromRev

public int getStartFromRev()
Description copied from interface: IFileSpec
Return the start "from" revision of the last integration, if any.

Specified by:
getStartFromRev in interface IFileSpec
See Also:
IFileSpec.getStartFromRev()

getStartToRev

public int getStartToRev()
Description copied from interface: IFileSpec
Return the start "to" revision of the last integration, if any.

Specified by:
getStartToRev in interface IFileSpec
See Also:
IFileSpec.getStartToRev()

getToFile

public String getToFile()
Description copied from interface: IFileSpec
Get the "to" file for the integration, if it exists. Returns null otherwise.

Specified by:
getToFile in interface IFileSpec
See Also:
IFileSpec.getToFile()

getWorkRev

public int getWorkRev()
Description copied from interface: IFileSpec
Get the work revision.

Specified by:
getWorkRev in interface IFileSpec
See Also:
IFileSpec.getWorkRev()

isUnmap

public boolean isUnmap()
Description copied from interface: IFileSpec
Return if this file spec is not mapped.

Specified by:
isUnmap in interface IFileSpec
See Also:
IFileSpec.isUnmap()

setDate

public void setDate(Date date)
Description copied from interface: IFileSpec
Set the date for this file spec.

Specified by:
setDate in interface IFileSpec

setFromFile

public void setFromFile(String fromFile)
Description copied from interface: IFileSpec
Set the from file for this file spec.

Specified by:
setFromFile in interface IFileSpec

setEndFromRev

public void setEndFromRev(int endFromRev)
Description copied from interface: IFileSpec
Set the end from revision for this file spec.

Specified by:
setEndFromRev in interface IFileSpec

setStartFromRev

public void setStartFromRev(int startFromRev)
Description copied from interface: IFileSpec
Set the end from revision for this file spec.

Specified by:
setStartFromRev in interface IFileSpec

setToFile

public void setToFile(String toFile)
Description copied from interface: IFileSpec
Set the to file for this file spec.

Specified by:
setToFile in interface IFileSpec

setEndToRev

public void setEndToRev(int endToRev)
Description copied from interface: IFileSpec
Set the end to revision for this file spec.

Specified by:
setEndToRev in interface IFileSpec

setStartToRev

public void setStartToRev(int startToRev)
Description copied from interface: IFileSpec
Set the start to revision for this file spec.

Specified by:
setStartToRev in interface IFileSpec

setWorkRev

public void setWorkRev(int workRev)
Description copied from interface: IFileSpec
Set the work revision for this file spec.

Specified by:
setWorkRev in interface IFileSpec

setHowResolved

public void setHowResolved(String howResolved)
Description copied from interface: IFileSpec
Set the "how resolved" string for this file spec.

Specified by:
setHowResolved in interface IFileSpec

setOtherAction

public void setOtherAction(FileAction otherAction)
Description copied from interface: IFileSpec
Set the other action for this file spec.

Specified by:
setOtherAction in interface IFileSpec

setLocked

public void setLocked(boolean locked)
Description copied from interface: IFileSpec
Set the locked status for this file spec.

Specified by:
setLocked in interface IFileSpec

setDiffStatus

public void setDiffStatus(String diffStatus)
Description copied from interface: IFileSpec
Set the diff status for this file spec.

Specified by:
setDiffStatus in interface IFileSpec

setResolveType

public void setResolveType(String resolveType)
Description copied from interface: IFileSpec
Set the resolve type for this file spec.

Specified by:
setResolveType in interface IFileSpec

setContentResolveType

public void setContentResolveType(String contentResolveType)
Description copied from interface: IFileSpec
Set the content resolve type for this file spec.

Specified by:
setContentResolveType in interface IFileSpec

setShelvedChange

public void setShelvedChange(int shelvedChange)
Description copied from interface: IFileSpec
Set the shelved change for this file spec.

Specified by:
setShelvedChange in interface IFileSpec

setUnmap

public void setUnmap(boolean unmap)
Description copied from interface: IFileSpec
Set the unmap status value for this file spec.

Specified by:
setUnmap in interface IFileSpec

getRevFromString

public static int getRevFromString(String str)

getClientPathString

public String getClientPathString()
Description copied from interface: IFileSpec
Convenience method for getPathString(CLIENT).

Specified by:
getClientPathString in interface IFileSpec
See Also:
IFileSpec.getClientPathString()

getDepotPathString

public String getDepotPathString()
Description copied from interface: IFileSpec
Convenience method for getPathString(DEPOT).

Specified by:
getDepotPathString in interface IFileSpec
See Also:
IFileSpec.getDepotPathString()

getLocalPathString

public String getLocalPathString()
Description copied from interface: IFileSpec
Convenience method for getPathString(LOCAL).

Specified by:
getLocalPathString in interface IFileSpec
See Also:
IFileSpec.getLocalPathString()

getOriginalPath

public FilePath getOriginalPath()
Description copied from interface: IFileSpec
Convenience method for getPath(ORIGINAL).

Specified by:
getOriginalPath in interface IFileSpec
See Also:
IFileSpec.getOriginalPath()

getOriginalPathString

public String getOriginalPathString()
Description copied from interface: IFileSpec
Convenience method for getPathString(ORIGINAL).

Specified by:
getOriginalPathString in interface IFileSpec
See Also:
IFileSpec.getOriginalPathString()

getPathString

public String getPathString(FilePath.PathType pathType)
Description copied from interface: IFileSpec
Get the unannotated path string for this Perforce file.

Specified by:
getPathString in interface IFileSpec
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.
See Also:
IFileSpec.getPathString(com.perforce.p4java.impl.generic.core.file.FilePath.PathType)

getAnnotatedPathString

public 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 interface IFileSpec
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.
See Also:
IFileSpec.getAnnotatedPathString(com.perforce.p4java.impl.generic.core.file.FilePath.PathType)

getPreferredPathString

public 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 interface IFileSpec
Returns:
possibly-null annotated preferred path string.
See Also:
IFileSpec.getPreferredPathString()

getAnnotatedPreferredPathString

public 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 interface IFileSpec
Returns:
possibly-null annotated preferred path string.
See Also:
IFileSpec.getAnnotatedPreferredPathString()

toString

public String toString()
Alias for getAnnotatedPreferredPathString().

Specified by:
toString in interface IFileSpec
Overrides:
toString in class Object
See Also:
Object.toString()

setPathFromString

public void setPathFromString(FilePath.PathType pathType,
                              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 interface IFileSpec
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
See Also:
IFileSpec.setPathFromString(com.perforce.p4java.impl.generic.core.file.FilePath.PathType, java.lang.String)

getDate

public Date getDate()
Description copied from interface: IFileSpec
Get the Perforce date of this file spec. Returns null if no date has been set.

Specified by:
getDate in interface IFileSpec
See Also:
IFileSpec.getDate()

setClientPath

public void setClientPath(String pathStr)
Description copied from interface: IFileSpec
Convenience method for setPath(new FilePath(PathType.CLIENT, pathStr));

Specified by:
setClientPath in interface IFileSpec
See Also:
IFileSpec.setClientPath(java.lang.String)

setDepotPath

public void setDepotPath(String pathStr)
Description copied from interface: IFileSpec
Convenience method for setPath(new FilePath(PathType.DEPOT, pathStr));

Specified by:
setDepotPath in interface IFileSpec
See Also:
IFileSpec.setDepotPath(java.lang.String)

setLocalPath

public void setLocalPath(String pathStr)
Description copied from interface: IFileSpec
Convenience method for setPath(new FilePath(PathType.LOCAL, pathStr));

Specified by:
setLocalPath in interface IFileSpec
See Also:
IFileSpec.setLocalPath(java.lang.String)

setOriginalPath

public void setOriginalPath(String pathStr)
Description copied from interface: IFileSpec
Convenience method for setPath(new FilePath(PathType.ORIGINAL, pathStr));

Specified by:
setOriginalPath in interface IFileSpec
See Also:
IFileSpec.setOriginalPath(java.lang.String)

getBaseRev

public int getBaseRev()
Description copied from interface: IFileSpec
Get the base revision as reported by integ -o or equivalent. This may be NO_FILE_REVISION if no base revision exists.

Specified by:
getBaseRev in interface IFileSpec
See Also:
IFileSpec.getBaseRev()

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 interface IFileSpec
See Also:
IFileSpec.setBaseRev(int)

getBaseName

public String getBaseName()
Description copied from interface: IFileSpec
Get the base name as reported by integ -o or equivalent. This may be null if no base name exists.

Specified by:
getBaseName in interface IFileSpec
See Also:
IFileSpec.getBaseName()

setBaseName

public void setBaseName(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 interface IFileSpec
See Also:
IFileSpec.setBaseName(java.lang.String)

getBaseFile

public String getBaseFile()
Description copied from interface: IFileSpec
Get the base file as reported by resolve -o or equivalent. This may be null if no base file exists.

Specified by:
getBaseFile in interface IFileSpec
See Also:
IFileSpec.getBaseFile()

setBaseFile

public void setBaseFile(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 interface IFileSpec
See Also:
IFileSpec.setBaseFile(java.lang.String)

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 interface IFileOperationResult

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 interface IFileOperationResult

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 interface IFileOperationResult

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 interface IFileOperationResult


Copyright © 2015 Perforce Software. All Rights Reserved.