com.perforce.p4java.impl.mapbased.server
Class Server

java.lang.Object
  extended by com.perforce.p4java.impl.mapbased.server.Server
All Implemented Interfaces:
IServerControl, IOptionsServer, IServer
Direct Known Subclasses:
RpcServer

public abstract class Server
extends Object
implements IServerControl, IOptionsServer

Generic abstract superclass for implementation-specific server implementations that use a command-style server interface implementation.

Normal users should not be creating this class or subclasses of this class directly; you should use the ServerFactory server factory methods to get a suitable server implementation class.


Field Summary
static String ATTRIBUTE_STREAM_MAP_KEY
           
protected  String authTicket
           
protected  boolean caseSensitive
           
protected  Charset charset
           
protected  String charsetName
           
protected  IClient client
           
protected  String clientName
           
protected  String clientUnsetName
          Used when we have no client set.
protected  ICommandCallback commandCallback
           
protected  boolean connected
           
protected static String CORE_AUTH_FAIL_STRING_1
          Signals access (login) needed
protected static String CORE_AUTH_FAIL_STRING_2
          Signals access (login) needed
protected static String CORE_AUTH_FAIL_STRING_3
          Signals ticket has expired
protected static String CORE_AUTH_FAIL_STRING_4
          Signals ticket has expired
static String DEFAULT_STATUS_FIELD_NAME
           
static String IMPL_COMMENTS_FIELD_NAME
           
static String IMPL_TYPE_FIELD_NAME
           
protected static boolean isRunningOnWindows
           
protected  boolean loginOnConnect
           
static String MINIMUM_SUPPORTED_SERVER_LEVEL_FIELD_NAME
           
protected  int minumumSupportedServerVersion
           
protected  AtomicInteger nextCmdCallBackKey
           
protected  AtomicInteger nextProgressCallbackKey
           
protected  boolean nonCheckedSyncs
           
static String P4TICKETS_DEFAULT_OTHER
          P4TICKETS_DEFAULT_OTHER
static String P4TICKETS_DEFAULT_WINDOWS
          P4TICKETS_DEFAULT_WINDOWS
static String P4TICKETS_ENV_VAR
          P4TICKETS environment variable
protected  String password
           
protected  IProgressCallback progressCallback
           
protected  Properties props
           
static String PROTOCOL_NAME_FIELD_NAME
           
static String SCREEN_NAME_FIELD_NAME
           
protected  String serverHost
           
protected  int serverPort
           
protected  int serverVersion
           
protected  boolean setupOnConnect
           
protected  ISSOCallback ssoCallback
           
protected  String ssoKey
           
protected  ServerStatus status
           
protected  String tmpDirName
           
protected static String UNKNOWN_SERVER_HOST
           
protected static int UNKNOWN_SERVER_PORT
           
protected static int UNKNOWN_SERVER_VERSION
           
protected  UsageOptions usageOptions
           
protected  String userName
           
 
Constructor Summary
Server()
           
 
Method Summary
 void connect()
          Connect to the Perforce server associated with this server object.
 String createBranchSpec(IBranchSpec branchSpec)
          Create a new Perforce branch spec on the Perforce server.
 String createClient(IClient newClient)
          Attempt to create a new Perforce client (a.k.a.
 String createDepot(IDepot newDepot)
          Create a new depot in the repository.
 IJob createJob(Map<String,Object> fieldMap)
          Create a new Perforce job in the Perforce server corresponding to the passed-in Perforce job fields (which in turn should correspond to at least the mandatory fields defined in the reigning Perforce job spec).
 String createLabel(ILabel label)
          Create a new Perforce label in the Perforce server.
 String createUser(IUser user, boolean force)
          Create a new Perforce user on the Perforce server.
 String createUser(IUser user, UpdateUserOptions opts)
          Create a new Perforce user on the Perforce server.
 String createUserGroup(IUserGroup group)
          Create a new Perforce user group on the Perforce server.
 String createUserGroup(IUserGroup group, UpdateUserGroupOptions opts)
          Create a new Perforce user group on the Perforce server.
 String deleteBranchSpec(String branchSpecName, boolean force)
          Delete a named Perforce branch spec from the Perforce server.
 String deleteBranchSpec(String branchSpecName, DeleteBranchSpecOptions opts)
          Delete a named Perforce branch spec from the Perforce server.
 String deleteClient(String clientName, boolean force)
          Delete a Perforce client from a Perforce server.
 String deleteClient(String clientName, DeleteClientOptions opts)
          Delete a Perforce client from a Perforce server.
 void deleteCounter(String counterName, boolean perforceCounter)
           
 String deleteDepot(String name)
          Delete a named depot from the repository.
 String deleteJob(String jobId)
          Delete a job from the Perforce server.
 String deleteLabel(String labelName, boolean force)
          Delete a named Perforce label from the Perforce server.
 String deleteLabel(String labelName, DeleteLabelOptions opts)
          Delete a named Perforce label from the Perforce server.
 String deletePendingChangelist(int id)
          Delete a pending Perforce changelist.
 String deleteUser(String userName, boolean force)
          Delete a named Perforce user from the Perforce server.
 String deleteUser(String userName, UpdateUserOptions opts)
          Delete a named Perforce user from the Perforce server
 String deleteUserGroup(IUserGroup group)
          Delete a Perforce user group from the Perforce server.
 String deleteUserGroup(IUserGroup group, UpdateUserGroupOptions opts)
          Delete a Perforce user group from the Perforce server.
 void disconnect()
          Disconnect from this Perforce server.
abstract  Map<String,Object>[] execInputStringMapCmd(String cmdName, String[] cmdArgs, String inString)
          Issue an arbitrary P4Java command to the Perforce server and return the results as a map.
abstract  void execInputStringStreamingMapComd(String cmdName, String[] cmdArgs, String inString, IStreamingCallback callback, int key)
          Issue a streaming map command to the Perforce server, using an optional string for any input expected by the server (such as label or job specs, etc.).
 Map<String,Object>[] execMapCmd(CmdSpec cmdSpec, String[] cmdArgs, Map<String,Object> inMap)
           
abstract  Map<String,Object>[] execMapCmd(String cmdName, String[] cmdArgs, Map<String,Object> inMap)
          Issue an arbitrary P4Java command to the Perforce server and return the results as a map.
abstract  Map<String,Object>[] execQuietMapCmd(String cmdName, String[] cmdArgs, Map<String,Object> inMap)
          Issue an arbitrary P4Java command to the Perforce server and return the results as a map without invoking any command callbacks.
abstract  InputStream execQuietStreamCmd(String cmdName, String[] cmdArgs)
          Issue an arbitrary P4Java command to the Perforce server and get the results as a stream without invoking any command callbacks.
 InputStream execStreamCmd(CmdSpec cmdSpec, String[] cmdArgs)
           
abstract  InputStream execStreamCmd(String cmdName, String[] cmdArgs)
          Issue an arbitrary P4Java command to the Perforce server and get the results as a stream.
abstract  void execStreamingMapCommand(String cmdName, String[] cmdArgs, Map<String,Object> inMap, IStreamingCallback callback, int key)
          Issue a streaming map command to the Perforce server, using an optional map for any input expected by the server (such as label or job specs, etc.).
 List<IFix> fixJobs(List<String> jobIds, int changelistId, FixJobsOptions opts)
          Mark each named job as being fixed by the changelist number given with changeListId.
 List<IFix> fixJobs(List<String> jobIdList, int changeListId, String status, boolean delete)
          Mark each named job as being fixed by the changelist number given with changeListId.
 String getAuthTicket()
          Return the current Perforce authentication ticket being used by this server, if any.
 IBranchSpec getBranchSpec(String name)
          Get a specific named Perforce branch spec from the Perforce server.
 List<IBranchSpecSummary> getBranchSpecs(GetBranchSpecsOptions opts)
          Get a list of all summary Perforce branch specs known to the Perforce server.
 List<IBranchSpecSummary> getBranchSpecs(String userName, String nameFilter, int maxReturns)
          Get a list of all summary Perforce branch specs known to the Perforce server.
 IChangelist getChangelist(int id)
          Get a specific Perforce changelist from a Perforce server.
 InputStream getChangelistDiffs(int id, DiffType diffType)
          Get an InputStream onto the file diffs associated with a specific submitted changelist.
 InputStream getChangelistDiffs(int id, GetChangelistDiffsOptions opts)
          Get an InputStream onto the file diffs associated with a specific submitted changelist.
 InputStream getChangelistDiffsStream(int id, DescribeOptions options)
          Get an InputStream onto the file diffs associated with a specific submitted changelist.
 List<IFileSpec> getChangelistFiles(int id)
          Get a list of the Perforce depot files associated with a Perforce changelist.
 List<IChangelistSummary> getChangelists(int maxMostRecent, List<IFileSpec> fileSpecs, String clientName, String userName, boolean includeIntegrated, boolean submittedOnly, boolean pendingOnly, boolean longDesc)
          An omnibus method to get a list of Perforce changelists from a server using zero or more qualifiers (note that convenience methods also exists, especially on the IClient interface).
 List<IChangelistSummary> getChangelists(int maxMostRecent, List<IFileSpec> fileSpecs, String clientName, String userName, boolean includeIntegrated, IChangelist.Type type, boolean longDesc)
          An omnibus method to get a list of Perforce changelists from a server using zero or more qualifiers (note that convenience methods also exists, especially on the IClient interface).
 List<IChangelistSummary> getChangelists(List<IFileSpec> fileSpecs, GetChangelistsOptions opts)
          Get a list of Perforce changelist summary objects from the Perforce server.
 String getCharsetName()
          Get the current charset name for the server connection.
 IClient getClient(IClientSummary clientSummary)
          Convenience method for getClient(clientSummary.getName()).
 IClient getClient(String clientName)
          Get an IClient object for a specific named Perforce client.
 String getClientName()
           
 List<IClientSummary> getClients(GetClientsOptions opts)
          Get a list of IClientSummary objects for all Perforce clients known to this Perforce server.
 List<IClientSummary> getClients(String userName, String queryString, int maxResults)
          Get a list of IClientSummary objects for all Perforce clients known to this Perforce server.
 IClient getClientTemplate(String clientName)
          Get a template of a non-existent named Perforce client.
 IClient getClientTemplate(String clientName, boolean allowExistent)
          Get a template of a non-existent named Perforce client.
 IClient getClientTemplate(String clientName, GetClientTemplateOptions opts)
          Get a template of a non-existent named Perforce client.
 String getCounter(String counterName)
          Get the value of a named Perforce counter from the Perforce server.
 Map<String,String> getCounters()
          Get a map of the Perforce server's counters.
 IClient getCurrentClient()
          Return the Perforce client currently associated with this Perforce server, if any.
 List<IDbSchema> getDbSchema(List<String> tableSpecs)
          Get the database schema associated with this server (admin / superuser command).
 IDepot getDepot(String name)
          Get an individual depot by name.
 List<IFileSpec> getDepotFiles(List<IFileSpec> fileSpecs, boolean allRevs)
          List all Perforce depot files known to the Perforce server that conform to the passed-in wild-card file specification(s).
 List<IFileSpec> getDepotFiles(List<IFileSpec> fileSpecs, GetDepotFilesOptions opts)
          List all Perforce depot files known to the Perforce server that conform to the passed-in wild-card file specification(s).
 List<IDepot> getDepots()
          Get a list of all Perforce depots known to this Perforce server.
 List<IFileSpec> getDirectories(List<IFileSpec> fileSpecs, boolean clientOnly, boolean deletedOnly, boolean haveListOnly)
          List any directories matching the passed-in file specifications.
 List<IFileSpec> getDirectories(List<IFileSpec> fileSpecs, GetDirectoriesOptions opts)
          List any directories matching the passed-in file specifications.
abstract  String getErrorOrInfoStr(Map<String,Object> map)
           
abstract  String getErrorStr(Map<String,Object> map)
           
 List<Map<String,Object>> getExportRecords(boolean useJournal, long maxRecs, int sourceNum, long offset, boolean format, String journalPrefix, String filter)
          Get a list of exported journal or checkpoint records (admin / superuser command).
 List<Map<String,Object>> getExportRecords(ExportRecordsOptions opts)
          Get a list of exported journal or checkpoint records (admin / superuser command).
 List<IExtendedFileSpec> getExtendedFiles(List<IFileSpec> fileSpecs, GetExtendedFilesOptions opts)
          Return a list of everything Perforce knows about a set of Perforce files.
 List<IExtendedFileSpec> getExtendedFiles(List<IFileSpec> fileSpecs, int maxFiles, int sinceChangelist, int affectedByChangelist, FileStatOutputOptions outputOptions, FileStatAncilliaryOptions ancilliaryOptions)
          Return a list of everything Perforce knows about a possibly very large set of Perforce files.
 List<IFileAnnotation> getFileAnnotations(List<IFileSpec> fileSpecs, DiffType wsOpts, boolean allResults, boolean useChangeNumbers, boolean followBranches)
          Get a list of revision annotations for the specified files.
 List<IFileAnnotation> getFileAnnotations(List<IFileSpec> fileSpecs, GetFileAnnotationsOptions opts)
          Get a list of revision annotations for the specified files.
 InputStream getFileContents(List<IFileSpec> fileSpecs, boolean allRevs, boolean noHeaderLine)
          Return an InputStream onto the contents of one or more revisions of one or more Perforce depot file contents.
 InputStream getFileContents(List<IFileSpec> fileSpecs, GetFileContentsOptions opts)
          Return an InputStream onto the contents of one or more revisions of one or more Perforce depot file contents.
 List<IFileDiff> getFileDiffs(IFileSpec file1, IFileSpec file2, String branchSpecName, DiffType diffType, boolean quiet, boolean includeNonTextDiffs, boolean gnuDiffs)
          Run diff on the Perforce server of two files in the depot.
 List<IFileDiff> getFileDiffs(IFileSpec file1, IFileSpec file2, String branchSpecName, GetFileDiffsOptions opts)
          Run diff on the Perforce server of two files in the depot.
 InputStream getFileDiffsStream(IFileSpec file1, IFileSpec file2, String branchSpecName, GetFileDiffsOptions opts)
          Run diff on the Perforce server of two files in the depot.
 List<IFix> getFixes(List<IFileSpec> fileSpecs, GetFixesOptions opts)
          Return a list of all Perforce jobs with fix records associated with them, along with the changelist number of the fix.
 List<IFix> getFixList(List<IFileSpec> fileSpecs, int changeListId, String jobId, boolean includeIntegrations, int maxFixes)
          Return a list of all Perforce jobs with fix records associated with them, along with the changelist number of the fix.
protected abstract  int getGenericCode(Map<String,Object> map)
           
protected  String getInfoServerAddress()
          Get the server address entry from the p4 info.
abstract  String getInfoStr(Map<String,Object> map)
           
 List<IChangelist> getInterchanges(IFileSpec fromFile, IFileSpec toFile, boolean showFiles, boolean longDesc, int maxChangelistId)
          Get a list of changes and / or associated files not yet integrated (unsupported).
 List<IChangelist> getInterchanges(IFileSpec fromFile, IFileSpec toFile, GetInterchangesOptions opts)
           
 List<IChangelist> getInterchanges(String branchSpecName, List<IFileSpec> fromFileList, List<IFileSpec> toFileList, boolean showFiles, boolean longDesc, int maxChangelistId, boolean reverseMapping, boolean biDirectional)
          Get a list of changes and / or associated files not yet integrated, based on branchspecs (unsupported).
 List<IChangelist> getInterchanges(String branchSpecName, List<IFileSpec> fromFileList, List<IFileSpec> toFileList, GetInterchangesOptions opts)
           
 IJob getJob(String jobId)
          Get a specific job.
 List<IJob> getJobs(List<IFileSpec> fileSpecs, GetJobsOptions opts)
          Return a list of Perforce jobs.
 List<IJob> getJobs(List<IFileSpec> fileSpecs, int maxJobs, boolean longDescriptions, boolean reverseOrder, boolean includeIntegrated, String jobView)
          Return a list of Perforce jobs.
 IJobSpec getJobSpec()
          Return the Perforce jobspec associated with this Perforce server.
 String[] getKnownCharsets()
          Return an array of strings representing "known" charsets (e.g.
 ILabel getLabel(String labelName)
          Get a specific named Perforce label.
 List<ILabelSummary> getLabels(List<IFileSpec> fileList, GetLabelsOptions opts)
          Get a list of Perforce labels, optionally tied to a specific set of files.
 List<ILabelSummary> getLabels(String user, int maxLabels, String nameFilter, List<IFileSpec> fileList)
          Get a list of Perforce labels, optionally tied to a specific set of files.
 String getLoginStatus()
          Return a string indicating the current login status; corresponds to the p4 login -s command.
 List<IFileLineMatch> getMatchingLines(List<IFileSpec> fileSpecs, String pattern, List<String> infoLines, MatchingLinesOptions options)
          Get list of matching lines in the specified file specs.
 List<IFileLineMatch> getMatchingLines(List<IFileSpec> fileSpecs, String pattern, MatchingLinesOptions options)
          Get list of matching lines in the specified file specs.
 List<IFileSpec> getOpenedFiles(List<IFileSpec> fileSpecs, boolean allClients, String clientName, int maxFiles, int changeListId)
          If one or more Perforce file specs is passed-in, return the opened / locked status of each file (if known) within an IFileSpec object; otherwise return a list of all files known to be open for this Perforce client workspace.
 List<IFileSpec> getOpenedFiles(List<IFileSpec> fileSpecs, OpenedFilesOptions opts)
          If one or more Perforce file specs is passed-in, return the opened / locked status of each file (if known) within an IFileSpec object; otherwise return a list of all files known to be open for this Perforce client workspace.
protected  String getP4TicketsOSLocation()
          Get p4tickets location for the running OS
static String[] getPreferredPathArray(String[] preamble, List<IFileSpec> specList)
           
static String[] getPreferredPathArray(String[] preamble, List<IFileSpec> specList, boolean annotate)
           
 Properties getProperties()
          Return the Java properties associated with this server.
 List<IProtectionEntry> getProtectionEntries(boolean allUsers, String hostName, String userName, String groupName, List<IFileSpec> fileList)
          Get a list of Perforce protection entries for the passed-in arguments.
 List<IProtectionEntry> getProtectionEntries(List<IFileSpec> fileList, GetProtectionEntriesOptions opts)
          Get a list of Perforce protection entries for the passed-in arguments.
 List<IUserSummary> getReviews(int changelistId, List<IFileSpec> fileSpecs)
          Get a list of all users who have subscribed to review the named files, the files in the numbered changelist, or all files by default.
 List<IUserSummary> getReviews(List<IFileSpec> fileSpecs, GetReviewsOptions opts)
          Get a list of all users who have subscribed to review the named files.
 Map<IFileSpec,List<IFileRevisionData>> getRevisionHistory(List<IFileSpec> fileSpecs, GetRevisionHistoryOptions opts)
          Get the revision history data for one or more Perforce files.
 Map<IFileSpec,List<IFileRevisionData>> getRevisionHistory(List<IFileSpec> fileSpecs, int maxRevs, boolean contentHistory, boolean includeInherited, boolean longOutput, boolean truncatedLongOutput)
          Get the revision history data for one or more Perforce files.
 InputStream getServerFileDiffs(IFileSpec file1, IFileSpec file2, String branchSpecName, DiffType diffType, boolean quiet, boolean includeNonTextDiffs, boolean gnuDiffs)
          Run diff on the Perforce server of two files in the depot.
 IServerInfo getServerInfo()
          Return a snapshot set of data on the Perforce server associated with this server interface.
 List<IServerProcess> getServerProcesses()
          Return a list of Perforce server processes active on the Perforce server.
protected  int getServerVersion()
           
 int getServerVersionNumber()
          Get the Perforce version number of the Perforce server associated with this IServer object, if any.
protected abstract  int getSeverityCode(Map<String,Object> map)
           
 ISSOCallback getSSOCallback()
           
 String getSSOKey()
           
 ServerStatus getStatus()
          Return the current status of this server object.
 List<IFileSpec> getSubmittedIntegrations(List<IFileSpec> fileSpecs, GetSubmittedIntegrationsOptions opts)
          Get a list of submitted integrations for the passed-in filespecs
 List<IFileSpec> getSubmittedIntegrations(List<IFileSpec> fileSpecs, String branchSpec, boolean reverseMappings)
          Get a list of submitted integrations for the passed-in filespecs.
 UsageOptions getUsageOptions()
          Get the UsageOptions object associated with this server.
 IUser getUser(String userName)
          Get the user details of a specific Perforce user from the Perforce server.
 IUserGroup getUserGroup(String name)
          Get the named Perforce user group.
 List<IUserGroup> getUserGroups(String userOrGroupName, boolean indirect, boolean displayValues, int maxGroups)
          Get a list of Perforce user groups from the server.
 List<IUserGroup> getUserGroups(String userOrGroupName, GetUserGroupsOptions opts)
          Get a list of Perforce user groups from the server.
 String getUserName()
          Return the user name currently associated with this server, if any.
 List<IUserSummary> getUsers(List<String> userList, GetUsersOptions opts)
          Get a list of Perforce users known to this Perforce server.
 List<IUserSummary> getUsers(List<String> userList, int maxUsers)
          Get a list of Perforce users known to this Perforce server.
 String getWorkingDirectory()
          Get the underlying server's notion of the current working directory.
static String guardNull(String str)
           
 boolean handleErrorStr(Map<String,Object> map)
           
 String handleFileErrorStr(Map<String,Object> map)
           
 IFileSpec handleFileReturn(Map<String,Object> map)
           
 IFileSpec handleFileReturn(Map<String,Object> map, IClient client)
           
 IFileSpec handleIntegrationFileReturn(Map<String,Object> map, boolean ignoreInfo)
           
 IFileSpec handleIntegrationFileReturn(Map<String,Object> map, IClient client)
           
 ServerStatus init(String host, int port, Properties props)
          Convenience method for init(host, port, props, null).
 ServerStatus init(String host, int port, Properties props, UsageOptions opts)
          Initialize the server.
abstract  boolean isAuthFail(String errStr)
           
 boolean isCaseSensitive()
          Returns whether the Perforce server associated with this IServer object is case sensitive.
 boolean isConnected()
          Return true iff and the server object is connected to the associated Perforce server.
abstract  boolean isInfoMessage(Map<String,Object> map)
           
 boolean isNonCheckedSyncs()
           
static boolean isRunningOnWindows()
          Return true if the JVM indicates that we're running on a Windows platform.
protected  boolean isUnicode()
           
 void login(String password)
          Convenience method for login(password, false).
 void login(String password, boolean allHosts)
          Works by retrieving the auth ticket and storing it away for use on all future commands.
 void login(String password, LoginOptions opts)
          Log the current user (if any) in to a Perforce server, optionally arranging to be logged in for all hosts.
 void logout()
          Log the current Perforce user out of a Perforce server session.
 void logout(LoginOptions opts)
          Log the current Perforce user out of a Perforce server session.
 List<IFileSpec> moveFile(IFileSpec fromFile, IFileSpec toFile, MoveFileOptions opts)
          Move a file already opened for edit or add (the fromFile) to the destination file (the toFile).
 List<IFileSpec> moveFile(int changeListId, boolean listOnly, boolean noClientMove, String fileType, IFileSpec fromFile, IFileSpec toFile)
          Move a file already opened for edit or add (the fromFile) to the destination file (the toFile).
protected  int parseVersionString(String versionString)
          Return the major version number (e.g.
static String[] populatePathArray(String[] pathArray, int start, List<IFileSpec> fileSpecList)
           
protected  List<IChangelist> processInterchangeMaps(Map<String,Object>[] mapArray, boolean showFiles)
           
 ICommandCallback registerCallback(ICommandCallback callback)
          Register a P4Java command callback with this Perforce server.
 IProgressCallback registerProgressCallback(IProgressCallback progressCallback)
          Register a P4Java command progress callback with this Perforce server.
 ISSOCallback registerSSOCallback(ISSOCallback callback, String ssoKey)
          Register a Perforce Single Sign On (SSO) callback and key for this server.
 void setAuthTicket(String authTicket)
          Set the server's Perforce authentication ticket to the passed-in string.
 boolean setCharsetName(String charsetName)
          Set the Perforce server's charset to the passed-in charset name.
 void setClientName(String clientName)
           
 void setCounter(String counterName, String value, boolean perforceCounter)
           
 String setCounter(String counterName, String value, CounterOptions opts)
          Create, set or delete a counter on a Perforce server.
 void setCurrentClient(IClient client)
          Set the Perforce client associated with this server.
 List<IFileSpec> setFileAttributes(List<IFileSpec> files, Map<String,String> attributes, SetFileAttributesOptions opts)
          Set file attributes on one or more files (unsupported).
 List<IFileSpec> setFileAttributes(List<IFileSpec> files, String attributeName, InputStream inStream, SetFileAttributesOptions opts)
          Set a file attribute on one or more files using the passed-in input stream as the source for the attribute's value (unsupported).
 void setNonCheckedSyncs(boolean nonCheckedSyncs)
           
 String setServerConfigurationValue(String name, String value)
          Set or unset a specific names server configuration variable.
 Server setUsageOptions(UsageOptions usageOptions)
          Set the UsageOptions object associated with this server.
 void setUserName(String userName)
          Set the Perforce user name to be used with this server.
 void setWorkingDirectory(String dirPath)
          Set the Perforce server's idea of each command's working directory.
 List<ServerConfigurationValue> showServerConfiguration(String serverName, String variableName)
          Show server configuration values.
 boolean supportsUnicode()
          Return true if the underlying Perforce server supports Unicode (and is connected).
 List<IFileSpec> tagFiles(List<IFileSpec> fileSpecs, String labelName, boolean listOnly, boolean delete)
          Tag files with a Perforce label.
 List<IFileSpec> tagFiles(List<IFileSpec> fileSpecs, String labelName, TagFilesOptions opts)
           
 String updateBranchSpec(IBranchSpec branchSpec)
          Update a Perforce branch spec on the Perforce server.
 String updateClient(IClient client)
          Update an existing Perforce client on the current Perforce server.
 String updateJob(IJob job)
          Update a Perforce job on the Perforce server.
 String updateLabel(ILabel label)
          Update an existing Perforce label in the Perforce server.
 String updateUser(IUser user, boolean force)
          Update a Perforce user on the Perforce server.
 String updateUser(IUser user, UpdateUserOptions opts)
          Update a Perforce user on the Perforce server.
 String updateUserGroup(IUserGroup group, boolean updateIfOwner)
          Update a Perforce user group on the Perforce server.
 String updateUserGroup(IUserGroup group, UpdateUserGroupOptions opts)
          Update a Perforce user group on the Perforce server.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.perforce.p4java.server.IServer
supportsSmartMove
 

Field Detail

SCREEN_NAME_FIELD_NAME

public static final String SCREEN_NAME_FIELD_NAME
See Also:
Constant Field Values

IMPL_COMMENTS_FIELD_NAME

public static final String IMPL_COMMENTS_FIELD_NAME
See Also:
Constant Field Values

IMPL_TYPE_FIELD_NAME

public static final String IMPL_TYPE_FIELD_NAME
See Also:
Constant Field Values

MINIMUM_SUPPORTED_SERVER_LEVEL_FIELD_NAME

public static final String MINIMUM_SUPPORTED_SERVER_LEVEL_FIELD_NAME
See Also:
Constant Field Values

PROTOCOL_NAME_FIELD_NAME

public static final String PROTOCOL_NAME_FIELD_NAME
See Also:
Constant Field Values

DEFAULT_STATUS_FIELD_NAME

public static final String DEFAULT_STATUS_FIELD_NAME
See Also:
Constant Field Values

ATTRIBUTE_STREAM_MAP_KEY

public static final String ATTRIBUTE_STREAM_MAP_KEY
See Also:
Constant Field Values

CORE_AUTH_FAIL_STRING_1

protected static final String CORE_AUTH_FAIL_STRING_1
Signals access (login) needed

See Also:
Constant Field Values

CORE_AUTH_FAIL_STRING_2

protected static final String CORE_AUTH_FAIL_STRING_2
Signals access (login) needed

See Also:
Constant Field Values

CORE_AUTH_FAIL_STRING_3

protected static final String CORE_AUTH_FAIL_STRING_3
Signals ticket has expired

See Also:
Constant Field Values

CORE_AUTH_FAIL_STRING_4

protected static final String CORE_AUTH_FAIL_STRING_4
Signals ticket has expired

See Also:
Constant Field Values

P4TICKETS_ENV_VAR

public static final String P4TICKETS_ENV_VAR
P4TICKETS environment variable

See Also:
Constant Field Values

P4TICKETS_DEFAULT_WINDOWS

public static final String P4TICKETS_DEFAULT_WINDOWS
P4TICKETS_DEFAULT_WINDOWS

See Also:
Constant Field Values

P4TICKETS_DEFAULT_OTHER

public static final String P4TICKETS_DEFAULT_OTHER
P4TICKETS_DEFAULT_OTHER

See Also:
Constant Field Values

usageOptions

protected UsageOptions usageOptions

UNKNOWN_SERVER_VERSION

protected static final int UNKNOWN_SERVER_VERSION
See Also:
Constant Field Values

UNKNOWN_SERVER_HOST

protected static final String UNKNOWN_SERVER_HOST

UNKNOWN_SERVER_PORT

protected static final int UNKNOWN_SERVER_PORT
See Also:
Constant Field Values

status

protected ServerStatus status

props

protected Properties props

caseSensitive

protected boolean caseSensitive

serverVersion

protected int serverVersion

serverHost

protected String serverHost

serverPort

protected int serverPort

userName

protected String userName

password

protected String password

authTicket

protected String authTicket

client

protected IClient client

clientName

protected String clientName

clientUnsetName

protected String clientUnsetName
Used when we have no client set.


setupOnConnect

protected boolean setupOnConnect

loginOnConnect

protected boolean loginOnConnect

commandCallback

protected ICommandCallback commandCallback

progressCallback

protected IProgressCallback progressCallback

ssoCallback

protected ISSOCallback ssoCallback

ssoKey

protected String ssoKey

charsetName

protected String charsetName

charset

protected Charset charset

connected

protected boolean connected

minumumSupportedServerVersion

protected int minumumSupportedServerVersion

tmpDirName

protected String tmpDirName

nextCmdCallBackKey

protected AtomicInteger nextCmdCallBackKey

nextProgressCallbackKey

protected AtomicInteger nextProgressCallbackKey

isRunningOnWindows

protected static boolean isRunningOnWindows

nonCheckedSyncs

protected boolean nonCheckedSyncs
Constructor Detail

Server

public Server()
Method Detail

registerCallback

public ICommandCallback registerCallback(ICommandCallback callback)
Description copied from interface: IServer
Register a P4Java command callback with this Perforce server.

See the ICommandCallback javadocs for callback semantics. Note that only one command callback can be active and registered for a given server at any one time.

Specified by:
registerCallback in interface IServer
Parameters:
callback - ICommandCallback object to be registered; if null, command callbacks are disabled.
Returns:
the previous command callback, if it existed; null otherwise
See Also:
IServer.registerCallback(com.perforce.p4java.server.callback.ICommandCallback)

registerProgressCallback

public IProgressCallback registerProgressCallback(IProgressCallback progressCallback)
Description copied from interface: IServer
Register a P4Java command progress callback with this Perforce server.

See the IProgressCallback javadocs for callback semantics. Note that only one progress callback can be active and registered for a given server at any one time.

Specified by:
registerProgressCallback in interface IServer
Parameters:
progressCallback - IProgressCallback object to be registered; if null, progress callbacks are disabled.
Returns:
the previous progress callback, if it existed; null otherwise
See Also:
IServer.registerProgressCallback(com.perforce.p4java.server.callback.IProgressCallback)

registerSSOCallback

public ISSOCallback registerSSOCallback(ISSOCallback callback,
                                        String ssoKey)
Description copied from interface: IServer
Register a Perforce Single Sign On (SSO) callback and key for this server.

See the ISSOCallback Javadoc comments for an explanation of the SSO callback feature; note that only one SSO callback can be active and registered for a given P4Jserver object at any one time.

Note that SSO callbacks work only with the (default) pure Java (RPC) protocol implementation.

Specified by:
registerSSOCallback in interface IServer
Parameters:
callback - ISSOCallback object to be registered; if null, SSO callbacks are disabled.
ssoKey - opaque string to be passed untouched to the callback; can be null, in which case null is passed in to the callback
Returns:
the previous SSO callback, if it existed; null otherwise
See Also:
IServer.registerSSOCallback(com.perforce.p4java.server.callback.ISSOCallback, java.lang.String)

getStatus

public ServerStatus getStatus()
Description copied from interface: IServer
Return the current status of this server object.

Specified by:
getStatus in interface IServer
Returns:
non-null ServerStatus representing the server status.
See Also:
IServer.getStatus()

getServerVersionNumber

public int getServerVersionNumber()
Description copied from interface: IServer
Get the Perforce version number of the Perforce server associated with this IServer object, if any. This will be in the form 20092 or 20073 (corresponding to 2009.2 and 2007.3 respectively), but the version number will not be available if you're not actually connected to a Perforce server.

Specified by:
getServerVersionNumber in interface IServer
Returns:
positive integer version number or -1 if not known or unavailable.
See Also:
IServer.getServerVersionNumber()

isCaseSensitive

public boolean isCaseSensitive()
Description copied from interface: IServer
Returns whether the Perforce server associated with this IServer object is case sensitive.

Specified by:
isCaseSensitive in interface IServer
Returns:
- true if case sensitive, false if case insensitive.
See Also:
IServer.isCaseSensitive()

setCharsetName

public boolean setCharsetName(String charsetName)
                       throws UnsupportedCharsetException
Description copied from interface: IServer
Set the Perforce server's charset to the passed-in charset name. The semantics of this are described in the full Perforce documentation, but note that odd things will happen if the named charset isn't recognized by both the JVM and the Perforce server (i.e. "utf8" works fine, but bizarre variants may not). What constitutes a good charset name, and whether or not the server recognises it, is somewhat fraught and may involve retrieving the unicode counter and using the (printed) list of recognised charsets.

Specified by:
setCharsetName in interface IServer
Parameters:
charsetName - charset name; if null, resets the charset to "no charset".
Returns:
true if the attempt to set the charset name succeeded; false otherwise. False will only be returned if the JVM doesn't support the charset. (an exception will be thrown if the server doesn't recognize it).
Throws:
UnsupportedCharsetException - if the Perforce server doesn't support or recognize the charset name.
See Also:
IServer.setCharsetName(java.lang.String)

getCharsetName

public String getCharsetName()
Description copied from interface: IServer
Get the current charset name for the server connection. May be null, in which case there is no associated character set.

Specified by:
getCharsetName in interface IServer
Returns:
charset name associated with this server; may be null.
See Also:
IServer.getCharsetName()

supportsUnicode

public boolean supportsUnicode()
                        throws ConnectionException,
                               RequestException,
                               AccessException
Description copied from interface: IServer
Return true if the underlying Perforce server supports Unicode (and is connected). In this context "supporting unicode" simply means that the method was able to contact the server and retrieve a "true" unicode-enabled status using the info command.

Specified by:
supportsUnicode in interface IServer
Returns:
true iff the underlying server supports Unicode.
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:
IServer.supportsUnicode()

getKnownCharsets

public String[] getKnownCharsets()
Description copied from interface: IServer
Return an array of strings representing "known" charsets (e.g. "utf8" or "utf32le".

Note that in this context, "known" simply means that Perforce servers supported by this API can potentially recognize the charset name and (hopefully) act accordingly.

Charset support in Perforce is described in more detail in the main p4 command documentation; in summary, although the list returned here is comprehensive and quite impressive, unless the Perforce server is actually primed to cope with Unicode (which, by default, they're not), the only charset listed here that will work is "none"; furthermore, actual charset support is somewhat idiosyncratic -- please refer to specific documentation for guidance with this. You probably need to use this method in conjunction with the supportsUnicode() method above.

Specified by:
getKnownCharsets in interface IServer
Returns:
a non-null array of strings representing lower-case charset names known to the server.
See Also:
IServer.getKnownCharsets()

getProperties

public Properties getProperties()
Description copied from interface: IServer
Return the Java properties associated with this server. The Properties returned here are the actual properties used in the server and can be updated through this method (i.e. the object is not just a copy). The interpretation of the individual Properties are implementation-specific and not discussed here.

Specified by:
getProperties in interface IServer
Returns:
Properties object; may be empty but will not be null.
See Also:
IServer.getProperties()

init

public ServerStatus init(String host,
                         int port,
                         Properties props)
                  throws ConfigException,
                         ConnectionException
Description copied from interface: IServerControl
Convenience method for init(host, port, props, null). See init's main Javadoc for full documentation.

Specified by:
init in interface IServerControl
Parameters:
host - the Perforce server hostname or IP address as passed in to the factory method
port - the Perforce server port number as passed in to the factory method
Returns:
the resulting status; should be ACTIVE unless otherwise specified
Throws:
ConfigException - if there's something wrong with the specified configuration or associated config files, etc.
ConnectionException - if the server is unreachable on initialization, and that unreachability is serious and unrecoverable (there are implementations that don't really do connections per se, so they may not consider this an error or even try connecting during initialisation).
See Also:
IServerControl.init(java.lang.String, int, java.util.Properties)

init

public ServerStatus init(String host,
                         int port,
                         Properties props,
                         UsageOptions opts)
                  throws ConfigException,
                         ConnectionException
Description copied from interface: IServerControl
Initialize the server. Called immediately after the server class is instantiated. The semantics of this method are fairly broad: the result of calling this method is that a future call to "normal" server calls must not fail because of any setting-up problems.

Specified by:
init in interface IServerControl
Parameters:
host - the Perforce server hostname or IP address as passed in to the factory method
port - the Perforce server port number as passed in to the factory method
props - the properties passed in to the factory method
opts - the UsageOptions object to be associated with the server object; if null, the server should construct a new default UsageOptions object.
Returns:
the resulting status; should be ACTIVE unless otherwise specified
Throws:
ConfigException - if there's something wrong with the specified configuration or associated config files, etc.
ConnectionException - if the server is unreachable on initialization, and that unreachability is serious and unrecoverable (there are implementations that don't really do connections per se, so they may not consider this an error or even try connecting during initialisation).
See Also:
IServerControl.init(java.lang.String, int, java.util.Properties, com.perforce.p4java.option.UsageOptions)

connect

public void connect()
             throws ConnectionException,
                    AccessException,
                    RequestException,
                    ConfigException
Description copied from interface: IServer
Connect to the Perforce server associated with this server object.

This method's detailed semantics depend on the underlying transport implementation, but in general, it's intended to be called before any attempt is made to issue a command to the associated Perforce server. It's also intended to be called after any (intentional or accidental) disconnect.

Note that certain implementations may try to request a client, etc., on connection (in response to property values passed in through the URL, etc.), which may cause a RequestException to be generated.

Specified by:
connect in interface IServer
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
RequestException - if the Perforce server encounters an error during its processing of the request
ConfigException - if local I/O exception occurs
See Also:
IServer.connect()

isConnected

public boolean isConnected()
Description copied from interface: IServer
Return true iff and the server object is connected to the associated Perforce server.

The meaning of "connected" is generally dependent on the underlying transport layer, but in general, if the server is not connected, issuing server commands to the associated Perforce server will fail with a connection exception.

Specified by:
isConnected in interface IServer
Returns:
- true iff connected, false otherwise
See Also:
IServer.isConnected()

disconnect

public void disconnect()
                throws ConnectionException,
                       AccessException
Description copied from interface: IServer
Disconnect from this Perforce server. Does not affect the current IServer's current user, password, or client settings, but if you later reconnect to the same Perforce server, you may also need to re-login.

This command should be run at the point at which this server is not going to be used any more, and attempts to disconnect from the associated server. "Disconnect" here has different meanings according to the underlying transport mechanism, but in practice it will mean that attempting to use this server object to issue Perforce commands will fail, usually with a ConnectionException exception.

Specified by:
disconnect in interface IServer
Throws:
ConnectionException
AccessException
See Also:
IServer.disconnect()

setUserName

public void setUserName(String userName)
Description copied from interface: IServer
Set the Perforce user name to be used with this server. This does not perform any login or checking, just associates a user name with this session. Once set, the user name is used with all commands where it makes sense.

Specified by:
setUserName in interface IServer
Parameters:
userName - Perforce user name; can be null, which is interpreted as "don't associate a user name with this server".
See Also:
IServer.setUserName(java.lang.String)

getUserName

public String getUserName()
Description copied from interface: IServer
Return the user name currently associated with this server, if any. User names are set using the setUserName method.

Specified by:
getUserName in interface IServer
Returns:
the user name currently associated with this server, if any; null otherwise.
See Also:
IServer.getUserName()

setAuthTicket

public void setAuthTicket(String authTicket)
Description copied from interface: IServer
Set the server's Perforce authentication ticket to the passed-in string. If the string is null, auth tickets won't be used when talking to the associated Perforce server; otherwise, the auth ticket will be used to authenticate against the Perforce server for each call to the server.

No checking is performed on the passed-in ticket, and any changes to existing tickets can cause authentication failures, so you should ensure the passed-in ticket is valid and makes sense for the current context.

Specified by:
setAuthTicket in interface IServer
Parameters:
authTicket - possibly-null Perforce authentication ticket
See Also:
IServer.setAuthTicket(java.lang.String)

getAuthTicket

public String getAuthTicket()
Description copied from interface: IServer
Return the current Perforce authentication ticket being used by this server, if any. This ticket is not always guaranteed to be currently valid, so reuse should be done carefully.

Specified by:
getAuthTicket in interface IServer
Returns:
possibly-null Perforce authentication ticket
See Also:
IServer.getAuthTicket()

getServerInfo

public IServerInfo getServerInfo()
                          throws ConnectionException,
                                 RequestException,
                                 AccessException
Description copied from interface: IServer
Return a snapshot set of data on the Perforce server associated with this server interface. If the server has been disconnected, this method will throw a suitable ConnectionException.

Specified by:
getServerInfo in interface IServer
Returns:
non-null IServerInfo interface.
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:
IServer.getServerInfo()

login

public void login(String password)
           throws ConnectionException,
                  RequestException,
                  AccessException,
                  ConfigException
Description copied from interface: IServer
Convenience method for login(password, false).

Specified by:
login in interface IServer
Parameters:
password - Perforce password; can be null if no password is needed (as in the case of SSO logins)
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
ConfigException - if the p4tickets file could not be updated successfully
See Also:
IServer.login(java.lang.String)

login

public void login(String password,
                  boolean allHosts)
           throws ConnectionException,
                  RequestException,
                  AccessException,
                  ConfigException
Works by retrieving the auth ticket and storing it away for use on all future commands.

Specified by:
login in interface IServer
Parameters:
password - Perforce password; can be null if no password is needed (as in the case of SSO logins)
allHosts - if true, perform the equivalent of a "login -a"
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
ConfigException - if the p4tickets file could not be updated successfully
See Also:
IServer.login(java.lang.String)

getLoginStatus

public String getLoginStatus()
                      throws P4JavaException
Description copied from interface: IServer
Return a string indicating the current login status; corresponds to the p4 login -s command. The resulting string should be interpreted by the caller, but is typically something like "User p4jtestsuper ticket expires in 9 hours 42 minutes." or "'login' not necessary, no password set for this user." or "Perforce password (P4PASSWD) invalid or unset." or "Access for user 'p4jtestinvaliduser' has not been enabled by 'p4 protect'", etc.

Specified by:
getLoginStatus in interface IServer
Returns:
non-null, but possibly-empty ticket / login status string. Interpretation of this string is up to the caller.
Throws:
P4JavaException - if any errors occur during the processing of this command.
See Also:
IServer.getLoginStatus()

login

public void login(String password,
                  LoginOptions opts)
           throws P4JavaException
Description copied from interface: IOptionsServer
Log the current user (if any) in to a Perforce server, optionally arranging to be logged in for all hosts.

Attempts to log in to the underlying Perforce server. If successful, successive calls to server-side services will succeed until the session is terminated by the server or the user logs out.

Behaviour is undefined if the server's user name attribute is null (but will probably cause a NullPointerError with most implementations).

Login will work with the Perforce SSO (single sign-on) scheme: in this case your password should be null, and the environment variable P4LOGINSSO should point to an executable SSO script as described in p4 help undoc (help for this is beyond the scope of this method doc, unfortunately, and the feature is not well tested here, but it "works" in general...).

Specified by:
login in interface IOptionsServer
Parameters:
password - Perforce password; can be null if no password is needed (as in the case of SSO logins)
opts - if LoginOptions.allHosts is true, perform the equivalent of a "login -a". A null LoginOptions parameter is equivalent to no options being set.
Throws:
P4JavaException - if any error occurs in the processing of this method. A specific ConfigException is thrown if the p4tickets file could not be updated successfully.
See Also:
IOptionsServer.login(java.lang.String, com.perforce.p4java.option.server.LoginOptions)

logout

public void logout()
            throws ConnectionException,
                   RequestException,
                   AccessException,
                   ConfigException
Description copied from interface: IServer
Log the current Perforce user out of a Perforce server session.

Specified by:
logout in interface IServer
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
ConfigException - if the p4tickets file could not be updated successfully
See Also:
IServer.logout()

logout

public void logout(LoginOptions opts)
            throws P4JavaException
Description copied from interface: IOptionsServer
Log the current Perforce user out of a Perforce server session.

Specified by:
logout in interface IOptionsServer
Parameters:
opts - currently ignored; can be null.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.logout(com.perforce.p4java.option.server.LoginOptions)

getClients

public List<IClientSummary> getClients(String userName,
                                       String queryString,
                                       int maxResults)
                                throws ConnectionException,
                                       RequestException,
                                       AccessException
Description copied from interface: IServer
Get a list of IClientSummary objects for all Perforce clients known to this Perforce server.

Note that this method returns light-weight IClientSummary objects rather than full IClient objects; if you need the heavy-weight IClient objects, you should use getClient(). Note also that the returned IClient objects are not "complete", in the sense that implementations are free to leave certain attributes null for performance reasons. In general, at least the client's name, root, description, last modification time are guaranteed correct.

Specified by:
getClients in interface IServer
Parameters:
userName - if not null, restrict listings to clients owned by the user 'userName'
queryString - if not null, limits output to clients whose name matches the query pattern passed-in. Note this option does not work for earlier Perforce servers.
maxResults - if > 0, restrict output to the first maxResults results.
Returns:
non-null (but possibly empty) list of Client objects for Perforce clients known to this Perforce server.
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:
IServer.getClients(java.lang.String, java.lang.String, int)

getClients

public List<IClientSummary> getClients(GetClientsOptions opts)
                                throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of IClientSummary objects for all Perforce clients known to this Perforce server.

Note that this method returns light-weight IClientSummary objects rather than full IClient objects; if you need the heavy-weight IClient objects, you should use getClient(). Note also that the returned IClient objects are not "complete", in the sense that implementations are free to leave certain attributes null for performance reasons. In general, at least the client's name, root, description, last modification time are guaranteed correct.

Specified by:
getClients in interface IOptionsServer
Parameters:
opts - GetClientsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null (but possibly empty) list of Client objects for Perforce clients known to this Perforce server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getClients(com.perforce.p4java.option.server.GetClientsOptions)

getLabels

public List<ILabelSummary> getLabels(String user,
                                     int maxLabels,
                                     String nameFilter,
                                     List<IFileSpec> fileList)
                              throws ConnectionException,
                                     RequestException,
                                     AccessException
Description copied from interface: IServer
Get a list of Perforce labels, optionally tied to a specific set of files.

Note that the ILabel objects returned here do not have views associated with them (i.e. the getViewMapping() method will return an empty list. If you need to get the view mapping for a specific label, use the getLabel() method.

Specified by:
getLabels in interface IServer
Parameters:
user - if non-null, limit labels to those owned by the named user
maxLabels - if larger than zero, return only the first maxLabels (or fewer) qualifying labels
nameFilter - if not null, limits output to labels whose name matches the nameFilter pattern, e.g. -e 'svr-dev-rel*'
fileList - if not null, limits its report to labels that contain those files
Returns:
non-null (but possibly-empty) list of qualifying Perforce labels
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:
IServer.getLabels(java.lang.String, int, java.lang.String, java.util.List)

getLabels

public List<ILabelSummary> getLabels(List<IFileSpec> fileList,
                                     GetLabelsOptions opts)
                              throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of Perforce labels, optionally tied to a specific set of files.

Note that the ILabel objects returned here do not have views associated with them (i.e. the getViewMapping() method will return an empty list. If you need to get the view mapping for a specific label, use the getLabel() method.

Specified by:
getLabels in interface IOptionsServer
Parameters:
fileList - if not null, limits its report to labels that contain those files
opts - GetLabelsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null (but possibly-empty) list of qualifying Perforce labels
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
com.perforce.p4java.server.IOptionsServer#getLabels(com.perforce.p4java.option.server.GetLabelsOptions)

getLabel

public ILabel getLabel(String labelName)
                throws ConnectionException,
                       RequestException,
                       AccessException
Description copied from interface: IServer
Get a specific named Perforce label.

Unlike the getLabelList method, the getViewMapping method on the returned label will be valid. Note though that changes to the returned label or its view will not be reflected on to the server unless the updateLabel method is called with the label as an argument.

Specified by:
getLabel in interface IServer
Parameters:
labelName - non-null label name
Returns:
ILabel representing the associated Perforce label, or null if no such label exists on the server.
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:
IServer.getLabel(java.lang.String)

createLabel

public String createLabel(ILabel label)
                   throws ConnectionException,
                          RequestException,
                          AccessException
Description copied from interface: IServer
Create a new Perforce label in the Perforce server.

Specified by:
createLabel in interface IServer
Parameters:
label - non-null ILabel to be saved
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message.
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:
IServer.createLabel(com.perforce.p4java.core.ILabel)

deleteLabel

public String deleteLabel(String labelName,
                          boolean force)
                   throws ConnectionException,
                          RequestException,
                          AccessException
Description copied from interface: IServer
Delete a named Perforce label from the Perforce server.

Specified by:
deleteLabel in interface IServer
Parameters:
labelName - non-null label name
force - if true, forces the deletion of any label; normally labels can only be deleted by their owner
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message
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:
IServer.deleteLabel(java.lang.String, boolean)

deleteLabel

public String deleteLabel(String labelName,
                          DeleteLabelOptions opts)
                   throws P4JavaException
Description copied from interface: IOptionsServer
Delete a named Perforce label from the Perforce server.

Specified by:
deleteLabel in interface IOptionsServer
Parameters:
labelName - non-null label name
opts - DeleteLabelOptions object describing optional parameters; if null, no options are set.
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.deleteLabel(java.lang.String, com.perforce.p4java.option.server.DeleteLabelOptions)

updateLabel

public String updateLabel(ILabel label)
                   throws ConnectionException,
                          RequestException,
                          AccessException
Description copied from interface: IServer
Update an existing Perforce label in the Perforce server.

Specified by:
updateLabel in interface IServer
Parameters:
label - non-null ILabel to be updated
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message.
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:
IServer.updateLabel(com.perforce.p4java.core.ILabel)

getDepotFiles

public List<IFileSpec> getDepotFiles(List<IFileSpec> fileSpecs,
                                     boolean allRevs)
                              throws ConnectionException,
                                     AccessException
Description copied from interface: IServer
List all Perforce depot files known to the Perforce server that conform to the passed-in wild-card file specification(s).

If client file names are given as file spec arguments the current Perforce client view mapping is used to list the corresponding depot files, if the client and view exist (if not, the results are undefined).

Normally, the head revision of each matching file is listed, but you can change this by specifying specific revisions or revision ranges. If the file spec argument includes a revision, then all files as of that revision are returned. If the file spec argument has a revision range, then only files selected by that revision range are returned, and the highest revision in the range is used for each file. If allRevs is true, all revisions within the specific range, rather than just the highest revision in the range, are returned.

See 'p4 help revisions' for help specifying revisions.

Note that the IFileSpec objects returned will have null client and local path components.

Specified by:
getDepotFiles in interface IServer
Parameters:
fileSpecs - a non-null list of one or more IFileSpecs to be used to qualify Perforce depot files
allRevs - if true, list all revisions of qualifying files.
Returns:
a non-null (but possible empty) list of all qualifying depot files
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
See Also:
IServer.getDepotFiles(java.util.List, boolean)

getDepotFiles

public List<IFileSpec> getDepotFiles(List<IFileSpec> fileSpecs,
                                     GetDepotFilesOptions opts)
                              throws P4JavaException
Description copied from interface: IOptionsServer
List all Perforce depot files known to the Perforce server that conform to the passed-in wild-card file specification(s).

If client file names are given as file spec arguments the current Perforce client view mapping is used to list the corresponding depot files, if the client and view exist (if not, the results are undefined).

Normally, the head revision of each matching file is listed, but you can change this by specifying specific revisions or revision ranges. If the file spec argument includes a revision, then all files as of that revision are returned. If the file spec argument has a revision range, then only files selected by that revision range are returned, and the highest revision in the range is used for each file. If GetDepotFilesOptions.allRevs is true, all revisions within the specific range, rather than just the highest revision in the range, are returned.

See 'p4 help revisions' for help specifying revisions.

Note that the IFileSpec objects returned will have null client and local path components.

Specified by:
getDepotFiles in interface IOptionsServer
Parameters:
fileSpecs - a non-null list of one or more IFileSpecs to be used to qualify Perforce depot files
opts - GetDepotFilesOptions describing the associated options; if null, no options are set.
Returns:
a non-null (but possible empty) list of all qualifying depot files
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getDepotFiles(java.util.List, com.perforce.p4java.option.server.GetDepotFilesOptions)

getFileAnnotations

public List<IFileAnnotation> getFileAnnotations(List<IFileSpec> fileSpecs,
                                                DiffType wsOpts,
                                                boolean allResults,
                                                boolean useChangeNumbers,
                                                boolean followBranches)
                                         throws ConnectionException,
                                                RequestException,
                                                AccessException
Description copied from interface: IServer
Get a list of revision annotations for the specified files.

Specified by:
getFileAnnotations in interface IServer
Parameters:
fileSpecs - non-null list of file specs to be annotated
wsOpts - 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 version annotations for the passed-in file specs.
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:
IServer.getFileAnnotations(java.util.List, com.perforce.p4java.core.file.DiffType, boolean, boolean, boolean)

getFileAnnotations

public List<IFileAnnotation> getFileAnnotations(List<IFileSpec> fileSpecs,
                                                GetFileAnnotationsOptions opts)
                                         throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of revision annotations for the specified files.

Specified by:
getFileAnnotations in interface IOptionsServer
Parameters:
fileSpecs - non-null list of file specs to be annotated.
opts - GetFileAnnotationsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null (but possibly-empty) list of IFileAnnotation objects representing version annotations for the passed-in file specs.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getFileAnnotations(java.util.List, com.perforce.p4java.option.server.GetFileAnnotationsOptions)

tagFiles

public List<IFileSpec> tagFiles(List<IFileSpec> fileSpecs,
                                String labelName,
                                boolean listOnly,
                                boolean delete)
                         throws ConnectionException,
                                RequestException,
                                AccessException
Description copied from interface: IServer
Tag files with a Perforce label.

Specified by:
tagFiles in interface IServer
Parameters:
fileSpecs - non-null list of files to be tagged.
labelName - non-null label name to use for the tagging.
listOnly - if true, don't do the actual tag, just return the list of files that would have been tagged.
delete - if true, delete the label tag from the files.
Returns:
a non-null (but possibly empty) list of affected file specs
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:
IServer.tagFiles(java.util.List, java.lang.String, boolean, boolean)

tagFiles

public List<IFileSpec> tagFiles(List<IFileSpec> fileSpecs,
                                String labelName,
                                TagFilesOptions opts)
                         throws P4JavaException
Specified by:
tagFiles in interface IOptionsServer
Parameters:
fileSpecs - non-null list of files to be tagged.
labelName - non-null label name to use for the tagging.
opts - TagFilesOptions object describing optional parameters; if null, no options are set.
Returns:
a non-null (but possibly empty) list of affected file specs.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.tagFiles(java.util.List, java.lang.String, com.perforce.p4java.option.server.TagFilesOptions)

getReviews

public List<IUserSummary> getReviews(int changelistId,
                                     List<IFileSpec> fileSpecs)
                              throws ConnectionException,
                                     RequestException,
                                     AccessException
Description copied from interface: IServer
Get a list of all users who have subscribed to review the named files, the files in the numbered changelist, or all files by default.

Note that the returned IUserSummary objects will have null access and update dates associated with them.

Specified by:
getReviews in interface IServer
Parameters:
changelistId - if not IChangelist.UNKNOWN, use this changelist ID.
fileSpecs - if not null, use this list as the list of named files rather than all files.
Returns:
non-null but possibly empty list of IUserSummary objects; note that these objects will have null update and access fields.
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:
IServer.getReviews(int, java.util.List)

getReviews

public List<IUserSummary> getReviews(List<IFileSpec> fileSpecs,
                                     GetReviewsOptions opts)
                              throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of all users who have subscribed to review the named files. Note that the returned IUserSummary objects will have null access and update dates associated with them.

Specified by:
getReviews in interface IOptionsServer
Parameters:
fileSpecs - if not null, use this list as the list of named files rather than all files.
opts - GetReviewsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty list of IUserSummary objects; note that these objects will have null update and access fields.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getReviews(java.util.List, com.perforce.p4java.option.server.GetReviewsOptions)

moveFile

public List<IFileSpec> moveFile(int changeListId,
                                boolean listOnly,
                                boolean noClientMove,
                                String fileType,
                                IFileSpec fromFile,
                                IFileSpec toFile)
                         throws ConnectionException,
                                RequestException,
                                AccessException
Description copied from interface: IServer
Move a file 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 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.

Note also that the move command is special in that almost alone among Perforce file-based commands, it does not allow full filespecs with version specifiers; these are currently quietly stripped off in the move command implementation here, which may lead to unexpected behaviour if you pass in specific versions expecting them to be honoured.

Specified by:
moveFile in interface IServer
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. This option can be used to tell the server that the user has already renamed a file on the client. The use of this option can confuse the server if you are wrong about the client's contents. Only works for 2009.2 and later servers; earlier servers will produce a RequestException if you set this true.
fileType - if not null, the file is reopened as that filetype.
fromFile - the original file; must be already open for edit.
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:
IServer.moveFile(int, boolean, boolean, java.lang.String, com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec)

moveFile

public List<IFileSpec> moveFile(IFileSpec fromFile,
                                IFileSpec toFile,
                                MoveFileOptions opts)
                         throws P4JavaException
Description copied from interface: IOptionsServer
Move a file 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 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.

Note also that the move command is special in that almost alone among Perforce file-based commands, it does not allow full filespecs with version specifiers; these are currently quietly stripped off in the move command implementation here, which may lead to unexpected behaviour if you pass in specific versions expecting them to be honoured.

Specified by:
moveFile in interface IOptionsServer
Parameters:
fromFile - the original file; must be already open for edit.
toFile - the target file.
opts - MoveFileOptions 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:
IOptionsServer.moveFile(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.option.server.MoveFileOptions)

getUser

public IUser getUser(String userName)
              throws ConnectionException,
                     RequestException,
                     AccessException
Description copied from interface: IServer
Get the user details of a specific Perforce user from the Perforce server.

Specified by:
getUser in interface IServer
Parameters:
userName - if null, get the current user details, otherwise use the passed-in user name.
Returns:
IUser details for the user, or null if no such user is known.
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:
IServer.getUser(java.lang.String)

createUser

public String createUser(IUser user,
                         boolean force)
                  throws ConnectionException,
                         RequestException,
                         AccessException
Description copied from interface: IServer
Create a new Perforce user on the Perforce server.

Specified by:
createUser in interface IServer
Parameters:
user - non-null IUser defining the new user to be created.
force - if true, force the creation of any named user; requires admin privileges,
Returns:
possibly-null status message string as returned from the server
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:
IServer.createUser(com.perforce.p4java.core.IUser, boolean)

createUser

public String createUser(IUser user,
                         UpdateUserOptions opts)
                  throws P4JavaException
Description copied from interface: IOptionsServer
Create a new Perforce user on the Perforce server.

Specified by:
createUser in interface IOptionsServer
Parameters:
user - non-null IUser defining the new user to be created.
opts - UpdateUserOptions object describing optional parameters; if null, no options are set
Returns:
possibly-null status message string as returned from the server
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.createUser(com.perforce.p4java.core.IUser, com.perforce.p4java.option.server.UpdateUserOptions)

updateUser

public String updateUser(IUser user,
                         boolean force)
                  throws ConnectionException,
                         RequestException,
                         AccessException
Description copied from interface: IServer
Update a Perforce user on the Perforce server.

Specified by:
updateUser in interface IServer
Parameters:
user - non-null IUser defining the user to be updated
force - if true, force update for users other than the caller. Requires super user / admin privileges (enforced by the server).
Returns:
possibly-null status message string as returned from the server
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:
IServer.updateUser(com.perforce.p4java.core.IUser, boolean)

updateUser

public String updateUser(IUser user,
                         UpdateUserOptions opts)
                  throws P4JavaException
Description copied from interface: IOptionsServer
Update a Perforce user on the Perforce server.

Specified by:
updateUser in interface IOptionsServer
Parameters:
user - non-null IUser defining the new user to be updated.
opts - UpdateUserOptions object describing optional parameters; if null, no options are set
Returns:
possibly-null status message string as returned from the server
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.updateUser(com.perforce.p4java.core.IUser, com.perforce.p4java.option.server.UpdateUserOptions)

deleteUser

public String deleteUser(String userName,
                         boolean force)
                  throws ConnectionException,
                         RequestException,
                         AccessException
Description copied from interface: IServer
Delete a named Perforce user from the Perforce server.

Specified by:
deleteUser in interface IServer
Parameters:
userName - non-null name of the user to be deleted.
force - if true, force deletion for users other than the caller. Requires super user / admin privileges (enforced by the server).
Returns:
possibly-null status message string as returned from the server
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:
IServer.deleteUser(java.lang.String, boolean)

deleteUser

public String deleteUser(String userName,
                         UpdateUserOptions opts)
                  throws P4JavaException
Description copied from interface: IOptionsServer
Delete a named Perforce user from the Perforce server

Specified by:
deleteUser in interface IOptionsServer
Parameters:
userName - non-null name of the user to be deleted.
opts - UpdateUserOptions object describing optional parameters; if null, no options are set
Returns:
possibly-null status message string as returned from the server
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.deleteUser(java.lang.String, com.perforce.p4java.option.server.UpdateUserOptions)

getUsers

public List<IUserSummary> getUsers(List<String> userList,
                                   int maxUsers)
                            throws ConnectionException,
                                   RequestException,
                                   AccessException
Description copied from interface: IServer
Get a list of Perforce users known to this Perforce server. Note that maxUsers and the user list are supposed to be mutually exclusive in usage, but this is not enforced by P4Java as the restriction doesn't make much sense and may be lifted in the Perforce server later.

Note that this implementation differs a bit from the p4 command line version in that it simply doesn't return any output for unmatched users.

Specified by:
getUsers in interface IServer
Parameters:
userList - if non-null, restrict output to users matching the passed-in list of users.
maxUsers - if positive, only return the first maxUsers users.
Returns:
non-null (but possibly empty) list of non-null IUserSummary objects representing the underlying Perforce users (if any).
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:
IServer.getUsers(java.util.List, int)

getUsers

public List<IUserSummary> getUsers(List<String> userList,
                                   GetUsersOptions opts)
                            throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of Perforce users known to this Perforce server. Note that maxUsers and the user list are supposed to be mutually exclusive in usage, but this is not enforced by P4Java as the restriction doesn't make much sense and may be lifted in the Perforce server later.

Note that this implementation differs a bit from the p4 command line version in that it simply doesn't return any output for unmatched users.

Specified by:
getUsers in interface IOptionsServer
Parameters:
userList - if non-null, restrict output to users matching the passed-in list of users.
opts - GetUsersOptions object describing optional parameters; if null, no options are set
Returns:
non-null (but possibly empty) list of non-null IUserSummary objects representing the underlying Perforce users (if any).
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getUsers(java.util.List, com.perforce.p4java.option.server.GetUsersOptions)

getUserGroups

public List<IUserGroup> getUserGroups(String userOrGroupName,
                                      boolean indirect,
                                      boolean displayValues,
                                      int maxGroups)
                               throws ConnectionException,
                                      RequestException,
                                      AccessException
Description copied from interface: IServer
Get a list of Perforce user groups from the server.

Note that the Perforce server considers it an error to have both indirect and displayValues parameters set true; this will cause the server to throw a RequestException with an appropriate usage message.

Specified by:
getUserGroups in interface IServer
Parameters:
userOrGroupName - if non-null, restrict the list to the specified group or username.
indirect - if true, also displays groups that the specified user or group belongs to indirectly via subgroups.
displayValues - if true, display the MaxResults, MaxScanRows, MaxLockTime, and Timeout values for the named group.
maxGroups - if > 0, display only the first m results.
Returns:
a non-zero but possibly-empty list of qualifying groups.
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:
IServer.getUserGroups(java.lang.String, boolean, boolean, int)

getUserGroups

public List<IUserGroup> getUserGroups(String userOrGroupName,
                                      GetUserGroupsOptions opts)
                               throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of Perforce user groups from the server.

Note that the Perforce server considers it an error to have both indirect and displayValues parameters set true; this will cause the server to throw a RequestException with an appropriate usage message.

Specified by:
getUserGroups in interface IOptionsServer
Parameters:
userOrGroupName - if non-null, restrict the list to the specified group or username.
opts - GetUserGroupsOptions object describing optional parameters; if null, no options are set
Returns:
a non-null but possibly-empty list of qualifying groups.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getUserGroups(java.lang.String, com.perforce.p4java.option.server.GetUserGroupsOptions)

getUserGroup

public IUserGroup getUserGroup(String name)
                        throws ConnectionException,
                               RequestException,
                               AccessException
Description copied from interface: IServer
Get the named Perforce user group. Note that since the Perforce server usually interprets asking for a non-existent group as equivalent to asking for a template for a new user group, you will normally always get back a result here. It is best to first use the getUserGroupList method to see if the group exists, then use this method to retrieve a specific group once you know it exists.

Specified by:
getUserGroup in interface IServer
Parameters:
name - non-null group name.
Returns:
IUserGroup representing the named user group if it exists on the server; null otherwise (but see note in main comments above).
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:
IServer.getUserGroup(java.lang.String)

createUserGroup

public String createUserGroup(IUserGroup group)
                       throws ConnectionException,
                              RequestException,
                              AccessException
Description copied from interface: IServer
Create a new Perforce user group on the Perforce server.

Specified by:
createUserGroup in interface IServer
Parameters:
group - non-null IUserGroup to be created.
Returns:
possibly-null status message string as returned from the server
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:
IServer.createUserGroup(com.perforce.p4java.core.IUserGroup)

updateUserGroup

public String updateUserGroup(IUserGroup group,
                              boolean updateIfOwner)
                       throws ConnectionException,
                              RequestException,
                              AccessException
Description copied from interface: IServer
Update a Perforce user group on the Perforce server.

Specified by:
updateUserGroup in interface IServer
Parameters:
group - non-null user group to be updated.
updateIfOwner - if true, allows a user without 'super' access to modify the group only if that user is an 'owner' of that group.
Returns:
possibly-null status message string as returned from the server
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:
IServer.updateUserGroup(com.perforce.p4java.core.IUserGroup, boolean)

deleteUserGroup

public String deleteUserGroup(IUserGroup group)
                       throws ConnectionException,
                              RequestException,
                              AccessException
Description copied from interface: IServer
Delete a Perforce user group from the Perforce server.

Specified by:
deleteUserGroup in interface IServer
Parameters:
group - non-null group to be deleted.
Returns:
possibly-null status message string as returned from the server
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:
IServer.deleteUserGroup(com.perforce.p4java.core.IUserGroup)

createUserGroup

public String createUserGroup(IUserGroup group,
                              UpdateUserGroupOptions opts)
                       throws P4JavaException
Description copied from interface: IOptionsServer
Create a new Perforce user group on the Perforce server.

Specified by:
createUserGroup in interface IOptionsServer
Parameters:
group - group non-null IUserGroup to be created.
opts - UpdateUserGroupOptions object describing optional parameters; if null, no options are set
Returns:
possibly-null status message string as returned from the server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.createUserGroup(com.perforce.p4java.core.IUserGroup, com.perforce.p4java.option.server.UpdateUserGroupOptions)

updateUserGroup

public String updateUserGroup(IUserGroup group,
                              UpdateUserGroupOptions opts)
                       throws P4JavaException
Description copied from interface: IOptionsServer
Update a Perforce user group on the Perforce server.

Specified by:
updateUserGroup in interface IOptionsServer
Parameters:
group - group non-null IUserGroup to be updated.
opts - UpdateUserGroupOptions object describing optional parameters; if null, no options are set
Returns:
possibly-null status message string as returned from the server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.updateUserGroup(com.perforce.p4java.core.IUserGroup, com.perforce.p4java.option.server.UpdateUserGroupOptions)

deleteUserGroup

public String deleteUserGroup(IUserGroup group,
                              UpdateUserGroupOptions opts)
                       throws P4JavaException
Description copied from interface: IOptionsServer
Delete a Perforce user group from the Perforce server.

Specified by:
deleteUserGroup in interface IOptionsServer
Parameters:
group - non-null group to be deleted.
opts - UpdateUserGroupOptions object describing optional parameters; if null, no options are set
Returns:
possibly-null status message string as returned from the server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.deleteUserGroup(com.perforce.p4java.core.IUserGroup, com.perforce.p4java.option.server.UpdateUserGroupOptions)

getProtectionEntries

public List<IProtectionEntry> getProtectionEntries(boolean allUsers,
                                                   String hostName,
                                                   String userName,
                                                   String groupName,
                                                   List<IFileSpec> fileList)
                                            throws ConnectionException,
                                                   RequestException,
                                                   AccessException
Description copied from interface: IServer
Get a list of Perforce protection entries for the passed-in arguments.

Note that the behavior of this method is unspecified when using clashing options (e.g. having both userName and groupName set non-null). Consult the main Perforce admin documentation for semantics and usage.

Note that the annotations in the file paths will be dropped. The reason is the Perforce server 'protects' command requires a file list devoid of annotated revision specificity.

Specified by:
getProtectionEntries in interface IServer
Parameters:
allUsers - if true, protection lines for all users are displayed.
hostName - only protection entries that apply to the given host (IP address) are displayed.
userName - protection lines Perforce user "userName" are displayed.
groupName - protection lines for Perforce group "groupName" are displayed.
fileList - if non-null, only those protection entries that apply to the specified files are displayed.
Returns:
non-null but possibly empty list of protection entries.
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:
IServer.getProtectionEntries(boolean, java.lang.String, java.lang.String, java.lang.String, java.util.List)

getProtectionEntries

public List<IProtectionEntry> getProtectionEntries(List<IFileSpec> fileList,
                                                   GetProtectionEntriesOptions opts)
                                            throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of Perforce protection entries for the passed-in arguments.

Note that the behavior of this method is unspecified when using clashing options (e.g. having both userName and groupName set non-null). Consult the main Perforce admin documentation for semantics and usage.

Note that any annotations in the file paths will be ignored. The reason is the Perforce server 'protects' command requires a file list devoid of annotated revision specificity.

Specified by:
getProtectionEntries in interface IOptionsServer
Parameters:
fileList - if non-null, only those protection entries that apply to the specified files are displayed.
opts - GetProtectionEntriesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty list of protection entries.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getProtectionEntries(java.util.List, com.perforce.p4java.option.server.GetProtectionEntriesOptions)

getBranchSpecs

public List<IBranchSpecSummary> getBranchSpecs(String userName,
                                               String nameFilter,
                                               int maxReturns)
                                        throws ConnectionException,
                                               RequestException,
                                               AccessException
Description copied from interface: IServer
Get a list of all summary Perforce branch specs known to the Perforce server.

Note that the IBranchSpecSummary objects returned here do not have branch view specs; you must call the getBranchSpec method on a specific branch to get valid view specs for a branch.

Specified by:
getBranchSpecs in interface IServer
Parameters:
userName - if non-null, limit qualifying branches to those owned by the named user.
nameFilter - if non-null, limits output to branches whose name matches the nameFilter pattern.
maxReturns - if greater than zero, limit output to the first maxReturns number of branches.
Returns:
non-null (but possibly-empty) list of IBranchSpecSummary objects.
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:
IServer.getBranchSpecs(java.lang.String, java.lang.String, int)

getBranchSpecs

public List<IBranchSpecSummary> getBranchSpecs(GetBranchSpecsOptions opts)
                                        throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of all summary Perforce branch specs known to the Perforce server.

Note that the IBranchSpecSummary objects returned here do not have branch view specs; you must call the getBranchSpec method on a specific branch to get valid view specs for a branch.

Specified by:
getBranchSpecs in interface IOptionsServer
Returns:
non-null (but possibly-empty) list of IBranchSpecSummary objects.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getBranchSpecs(com.perforce.p4java.option.server.GetBranchSpecsOptions)

getBranchSpec

public IBranchSpec getBranchSpec(String name)
                          throws ConnectionException,
                                 RequestException,
                                 AccessException
Description copied from interface: IServer
Get a specific named Perforce branch spec from the Perforce server.

Note that since the Perforce server usually interprets asking for a non-existent branch spec as equivalent to asking for a template for a new branch spec, you will normally always get back a result here. It is best to first use the getBranchSpecList method to see if the branch spec exists, then use this method to retrieve a specific branch spec once you know it exists.

Specified by:
getBranchSpec in interface IServer
Parameters:
name - non-null branch name
Returns:
potentially-null IBranchSpec for the named Perforce branch spec.
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:
IServer.getBranchSpec(java.lang.String)

createBranchSpec

public String createBranchSpec(IBranchSpec branchSpec)
                        throws ConnectionException,
                               RequestException,
                               AccessException
Description copied from interface: IServer
Create a new Perforce branch spec on the Perforce server.

Specified by:
createBranchSpec in interface IServer
Parameters:
branchSpec - non-null branch spec to be created.
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message.
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:
IServer.createBranchSpec(com.perforce.p4java.core.IBranchSpec)

updateBranchSpec

public String updateBranchSpec(IBranchSpec branchSpec)
                        throws ConnectionException,
                               RequestException,
                               AccessException
Description copied from interface: IServer
Update a Perforce branch spec on the Perforce server.

Specified by:
updateBranchSpec in interface IServer
Parameters:
branchSpec - non-null branch spec to be updated.
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message.
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:
IServer.updateBranchSpec(com.perforce.p4java.core.IBranchSpec)

deleteBranchSpec

public String deleteBranchSpec(String branchSpecName,
                               boolean force)
                        throws ConnectionException,
                               RequestException,
                               AccessException
Description copied from interface: IServer
Delete a named Perforce branch spec from the Perforce server.

Specified by:
deleteBranchSpec in interface IServer
Parameters:
branchSpecName - non-null branch spec name
force - if true, forces the deletion of any branch; normally branches can only be deleted by their owner
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message
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:
IServer.deleteBranchSpec(java.lang.String, boolean)

deleteBranchSpec

public String deleteBranchSpec(String branchSpecName,
                               DeleteBranchSpecOptions opts)
                        throws P4JavaException
Description copied from interface: IOptionsServer
Delete a named Perforce branch spec from the Perforce server.

Specified by:
deleteBranchSpec in interface IOptionsServer
Parameters:
branchSpecName - non-null name of the branch spec to be deleted.
opts - DeleteBranchSpecOptions object describing optional parameters; if null, no options are set.
Returns:
non-null result message string from the Perforce server; this may include form trigger output pre-pended and / or appended to the "normal" message
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.deleteBranchSpec(java.lang.String, com.perforce.p4java.option.server.DeleteBranchSpecOptions)

getCurrentClient

public IClient getCurrentClient()
Description copied from interface: IServer
Return the Perforce client currently associated with this Perforce server, if any.

Specified by:
getCurrentClient in interface IServer
Returns:
IClient representing the current client, or null if no client associated with this server.
See Also:
IServer.getCurrentClient()

setCurrentClient

public void setCurrentClient(IClient client)
Description copied from interface: IServer
Set the Perforce client associated with this server.

Specified by:
setCurrentClient in interface IServer
See Also:
IServer.setCurrentClient(com.perforce.p4java.client.IClient)

getClient

public IClient getClient(String clientName)
                  throws ConnectionException,
                         RequestException,
                         AccessException
Description copied from interface: IServer
Get an IClient object for a specific named Perforce client.

Note that (unfortunately) some implementations cannot detect a non-existent client at this stage, and using the client returned in such circumstances may cause errors down the road.

Specified by:
getClient in interface IServer
Parameters:
clientName - non-null Perforce client name.
Returns:
IClient representing the specified Perforce client, or null if no such client.
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:
IServer.getClient(java.lang.String)

getClient

public IClient getClient(IClientSummary clientSummary)
                  throws ConnectionException,
                         RequestException,
                         AccessException
Description copied from interface: IServer
Convenience method for getClient(clientSummary.getName()).

Specified by:
getClient in interface IServer
Parameters:
clientSummary - non-null Perforce client summary object.
Returns:
IClient representing the specified Perforce client, or null if no such client.
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:
IServer.getClient(com.perforce.p4java.client.IClientSummary)

getClientTemplate

public IClient getClientTemplate(String clientName,
                                 boolean allowExistent)
                          throws ConnectionException,
                                 RequestException,
                                 AccessException
Description copied from interface: IServer
Get a template of a non-existent named Perforce client. This will only return an IClient for clients that don't exist unless the allowExistent parameter is set to true. This method is designed to be able to get the server returned default values it uses when a non-existent client is requested.

Specified by:
getClientTemplate in interface IServer
Parameters:
clientName - non-null Perforce client name.
allowExistent - - true to return a client even if it exists
Returns:
IClient representing the specified Perforce client, or null if no such client.
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:
IServer.getClientTemplate(java.lang.String, boolean)

getClientTemplate

public IClient getClientTemplate(String clientName,
                                 GetClientTemplateOptions opts)
                          throws P4JavaException
Description copied from interface: IOptionsServer
Get a template of a non-existent named Perforce client. This will only return an IClient for clients that don't exist unless the allowExistent parameter is set to true. This method is designed to be able to get the server returned default values it uses when a non-existent client is requested.

Specified by:
getClientTemplate in interface IOptionsServer
Parameters:
clientName - non-null Perforce client name.
opts - GetClientTemplateOptions object describing optional parameters; if null, no options are set.
Returns:
IClient representing the specified Perforce client template, or null if no such client template.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getClientTemplate(java.lang.String, com.perforce.p4java.option.server.GetClientTemplateOptions)

getClientTemplate

public IClient getClientTemplate(String clientName)
                          throws ConnectionException,
                                 RequestException,
                                 AccessException
Description copied from interface: IServer
Get a template of a non-existent named Perforce client. This will only return an IClient for clients that don't exist. This method is designed to be able to get the server returned default values it uses when a non-existent client is requested.

Specified by:
getClientTemplate in interface IServer
Parameters:
clientName - non-null Perforce client name.
Returns:
IClient representing the specified Perforce client, or null if no such client.
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:
IServer.getClientTemplate(java.lang.String)

createClient

public String createClient(IClient newClient)
                    throws ConnectionException,
                           RequestException,
                           AccessException
Description copied from interface: IServer
Attempt to create a new Perforce client (a.k.a. "workspace") in the Perforce server. The client should be fetched via IServer.getClient(String) after this call in order to obtain the full client spec as the server may fill in defaults for missing fields in the specified newClient. This method will return a server status message and will throw an exception if the client was not created for various reasons. Note that the server status message may have form trigger output appended or prepended to it.

Specified by:
createClient in interface IServer
Parameters:
newClient - non-null IClient defining the new Perforce client to be created.
Returns:
non-null result message string from the Perforce server
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:
IServer.createClient(com.perforce.p4java.client.IClient)

updateClient

public String updateClient(IClient client)
                    throws ConnectionException,
                           RequestException,
                           AccessException
Description copied from interface: IServer
Update an existing Perforce client on the current Perforce server. This client does not need to be the current client, and no association with the passed-in client is made by the server (i.e. it's not made the current client).

Specified by:
updateClient in interface IServer
Parameters:
client - non-null IClient defining the Perforce client to be updated
Returns:
possibly-null operation result message string from the Perforce server
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:
IServer.updateClient(com.perforce.p4java.client.IClient)

deleteClient

public String deleteClient(String clientName,
                           boolean force)
                    throws ConnectionException,
                           RequestException,
                           AccessException
Description copied from interface: IServer
Delete a Perforce client from a Perforce server. The effects this has on the client and the server are not well-defined here, and you should probably consult the relevant Perforce documentation for your specific case. In any event, you can cause quite a lot of inconvenience (and maybe even damage) doing a forced delete without preparing properly for it, especially if the client is the current client.

Specified by:
deleteClient in interface IServer
Parameters:
clientName - non-null name of the client to be deleted from the server.
force - if true, tell the server to attempt to force the delete regardless of the consequences. You're on your own with this one...
Returns:
possibly-null operation result message string from the Perforce server
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:
IServer.deleteClient(java.lang.String, boolean)

deleteClient

public String deleteClient(String clientName,
                           DeleteClientOptions opts)
                    throws P4JavaException
Description copied from interface: IOptionsServer
Delete a Perforce client from a Perforce server. The effects this has on the client and the server are not well-defined here, and you should probably consult the relevant Perforce documentation for your specific case. In any event, you can cause quite a lot of inconvenience (and maybe even damage) doing a forced delete without preparing properly for it, especially if the client is the server object's current client.

Specified by:
deleteClient in interface IOptionsServer
Parameters:
clientName - non-null name of the client to be deleted from the server.
opts - DeleteClientOptions object describing optional parameters; if null, no options are set.
Returns:
possibly-null operation result message string from the Perforce server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.deleteClient(java.lang.String, com.perforce.p4java.option.server.DeleteClientOptions)

getDepots

public List<IDepot> getDepots()
                       throws ConnectionException,
                              RequestException,
                              AccessException
Description copied from interface: IServer
Get a list of all Perforce depots known to this Perforce server.

Specified by:
getDepots in interface IServer
Returns:
non-null (but possibly empty) list of non-null IDepot objects representing the underlying Perforce depots.
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:
IServer.getDepots()

getDepot

public IDepot getDepot(String name)
                throws P4JavaException
Description copied from interface: IOptionsServer
Get an individual depot by name. Note that this method will return a fake depot if you ask it for a non-existent depot, so it's not the most useful of operations.

Specified by:
getDepot in interface IOptionsServer
Parameters:
name - non-null name of the depot to be retrieved.
Returns:
IDepot non-null object corresponding to the named depot if it exists and is retrievable; otherwise an IDepot object that looks real but does not, in fact, correspond to any known depot in the repository.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getDepot(java.lang.String)

createDepot

public String createDepot(IDepot newDepot)
                   throws P4JavaException
Description copied from interface: IOptionsServer
Create a new depot in the repository. You must be an admin for this operation to succeed.

Specified by:
createDepot in interface IOptionsServer
Parameters:
newDepot - non-null IDepot object representing the depot to be created.
Returns:
possibly-null operation result message string from the Perforce server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.createDepot(com.perforce.p4java.core.IDepot)

deleteDepot

public String deleteDepot(String name)
                   throws P4JavaException
Description copied from interface: IOptionsServer
Delete a named depot from the repository. You must be an admin for this operation to succeed.

Specified by:
deleteDepot in interface IOptionsServer
Parameters:
name - non-null IDepot object representing the depot to be deleted
Returns:
possibly-null operation result message string from the Perforce server.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
com.perforce.p4java.server.IOptionsServer#deleteDepot(com.perforce.p4java.core.IDepot)

getChangelists

public List<IChangelistSummary> getChangelists(int maxMostRecent,
                                               List<IFileSpec> fileSpecs,
                                               String clientName,
                                               String userName,
                                               boolean includeIntegrated,
                                               IChangelist.Type type,
                                               boolean longDesc)
                                        throws ConnectionException,
                                               RequestException,
                                               AccessException
Description copied from interface: IServer
An omnibus method to get a list of Perforce changelists from a server using zero or more qualifiers (note that convenience methods also exists, especially on the IClient interface).

Note that if both submittedOnly and pendingOnly are true, the results are implementation-defined.

Specified by:
getChangelists in interface IServer
Parameters:
maxMostRecent - if positive, restrict the list to the maxMostRecent most recent changelists. Implementations are free to ignore this parameter if necessary (and return all qualifying results).
fileSpecs - if non-empty, limits the results to changelists that affect the specified files. If the file specification includes a revision range, limits its results to submitted changelists that affect those particular revisions.
clientName - if non-null, restrict the results to changelists associated with the given client.
userName - if non-null, restrict the results to changelists associated with the given user name.
includeIntegrated - if true, also include any changelists integrated into the specified files (if any).
type - if non-null, restrict the results to the specified changelist type
longDesc - if true, produce a non-truncated long version of the description
Returns:
a non-null (but possibly empty) list of qualifying changelists.
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:
IServer.getChangelists(int, java.util.List, java.lang.String, java.lang.String, boolean, com.perforce.p4java.core.IChangelist.Type, boolean)

getChangelists

public List<IChangelistSummary> getChangelists(int maxMostRecent,
                                               List<IFileSpec> fileSpecs,
                                               String clientName,
                                               String userName,
                                               boolean includeIntegrated,
                                               boolean submittedOnly,
                                               boolean pendingOnly,
                                               boolean longDesc)
                                        throws ConnectionException,
                                               RequestException,
                                               AccessException
Description copied from interface: IServer
An omnibus method to get a list of Perforce changelists from a server using zero or more qualifiers (note that convenience methods also exists, especially on the IClient interface).

Note that if both submittedOnly and pendingOnly are true, the results are implementation-defined.

Specified by:
getChangelists in interface IServer
Parameters:
maxMostRecent - if positive, restrict the list to the maxMostRecent most recent changelists. Implementations are free to ignore this parameter if necessary (and return all qualifying results).
fileSpecs - if non-empty, limits the results to changelists that affect the specified files. If the file specification includes a revision range, limits its results to submitted changelists that affect those particular revisions.
clientName - if non-null, restrict the results to changelists associated with the given client.
userName - if non-null, restrict the results to changelists associated with the given user name.
includeIntegrated - if true, also include any changelists integrated into the specified files (if any).
submittedOnly - if true, restrict the results to submitted changelists only.
pendingOnly - if true, restrict the results to pending changelists only.
longDesc - if true, produce a non-truncated long version of the description
Returns:
a non-null (but possibly empty) list of qualifying changelist summary objects.
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:
IServer.getChangelists(int, java.util.List, java.lang.String, java.lang.String, boolean, boolean, boolean, boolean)

getChangelists

public List<IChangelistSummary> getChangelists(List<IFileSpec> fileSpecs,
                                               GetChangelistsOptions opts)
                                        throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of Perforce changelist summary objects from the Perforce server.

Specified by:
getChangelists in interface IOptionsServer
Parameters:
fileSpecs - if non-empty, limits the results to changelists that affect the specified files. If the file specification includes a revision range, limits its results to submitted changelists that affect those particular revisions
opts - GetChangelistsOptions object describing optional parameters; if null, no options are set.
Returns:
a non-null (but possibly empty) list of qualifying changelists.
Throws:
P4JavaException - if any error occurs in the processing of this method
See Also:
IOptionsServer.getChangelists(java.util.List, com.perforce.p4java.option.server.GetChangelistsOptions)

getChangelist

public IChangelist getChangelist(int id)
                          throws ConnectionException,
                                 RequestException,
                                 AccessException
Description copied from interface: IServer
Get a specific Perforce changelist from a Perforce server.

Corresponds fairly well to the p4 command-line command "change -o", and (like "change -o") does not include the associated changelist files (if any) in the returned changelist object -- you must use getChangelistFiles (or similar) to properly populate the changelist for submission, for example.

Specified by:
getChangelist in interface IServer
Parameters:
id - the Perforce changelist ID; if id is IChangelist.DEFAULT, get the default changelist for the current client (if available)
Returns:
non-null IChangelist describing the changelist; if no such changelist, a RequestException is thrown.
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:
IServer.getChangelist(int)

deletePendingChangelist

public String deletePendingChangelist(int id)
                               throws ConnectionException,
                                      RequestException,
                                      AccessException
Description copied from interface: IServer
Delete a pending Perforce changelist. Throws a RequestException if the changelist was associated with opened files or was not a pending changelist.

Note: any IChangelist object associated with the given changelist will no longer be valid after this operation, and using that object may cause undefined results or even global disaster -- you must ensure that the object is not used again improperly.

Specified by:
deletePendingChangelist in interface IServer
Parameters:
id - the ID of the Perforce pending changelist to be deleted.
Returns:
possibly-null operation result message string from the Perforce server
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:
IServer.deletePendingChangelist(int)

getChangelistFiles

public List<IFileSpec> getChangelistFiles(int id)
                                   throws ConnectionException,
                                          RequestException,
                                          AccessException
Description copied from interface: IServer
Get a list of the Perforce depot files associated with a Perforce changelist.

The IFileSpec objects returned are not guaranteed to have any fields except depot path, version, and action valid.

Changelists that are pending will not have files visible through this method; you should use the client openedFiles method for retrieving files in that situation.

Specified by:
getChangelistFiles in interface IServer
Parameters:
id - numeric changelist identifier
Returns:
non-null (but possibly empty) list of files associated with the changelist.
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:
IServer.getChangelistFiles(int)

getChangelistDiffs

public InputStream getChangelistDiffs(int id,
                                      DiffType diffType)
                               throws ConnectionException,
                                      RequestException,
                                      AccessException
Description copied from interface: IServer
Get an InputStream onto the file diffs associated with a specific submitted changelist. This method (like the similar "p4 describe" command) will not return diffs for pending changelists.

This is one of the guaranteed "live" method on this interface, and will return the diff output as it exists when called (rather than when the underlying implementation object was created). This can be an expensive method to evaluate, and can generate reams and reams (and reams) of output, so don't use it willy-nilly.

Note that unlike the corresponding command-line command, which keeps going in the face of errors by moving on to the next file (or whatever), any errors encountered in this method will cause an exception from this method at the first error, so plan accordingly....

Specified by:
getChangelistDiffs in interface IServer
Parameters:
id - the ID of the target changelist
diffType - if non-null, describes which type of diff to perform.
Returns:
InputStream onto the diff stream. Note that while this stream will not be null, it may be empty
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:
IServer.getChangelistDiffs(int, com.perforce.p4java.core.file.DiffType)

getChangelistDiffs

public InputStream getChangelistDiffs(int id,
                                      GetChangelistDiffsOptions opts)
                               throws P4JavaException
Description copied from interface: IOptionsServer
Get an InputStream onto the file diffs associated with a specific submitted changelist. This method (like the similar "p4 describe" command) will not return diffs for pending changelists.

This is one of the guaranteed "live" method on this interface, and will return the diff output as it exists when called (rather than when the underlying implementation object was created). This can be an expensive method to evaluate, and can generate reams and reams (and reams) of output, so don't use it willy-nilly.

Note that unlike the corresponding command-line command, which keeps going in the face of errors by moving on to the next file (or whatever), any errors encountered in this method will cause an exception from this method at the first error, so plan accordingly....

Specified by:
getChangelistDiffs in interface IOptionsServer
Parameters:
id - the ID of the target changelist.
opts - GetChangelistDiffsOptions object describing optional parameters; if null, no options are set.
Returns:
InputStream onto the diff stream. Note that while this stream will not be null, it may be empty.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getChangelistDiffs(int, com.perforce.p4java.option.server.GetChangelistDiffsOptions)

getChangelistDiffsStream

public InputStream getChangelistDiffsStream(int id,
                                            DescribeOptions options)
                                     throws ConnectionException,
                                            RequestException,
                                            AccessException
Description copied from interface: IServer
Get an InputStream onto the file diffs associated with a specific submitted changelist. This method (like the similar "p4 describe" command) will not return diffs for pending changelists.

This is one of the guaranteed "live" method on this interface, and will return the diff output as it exists when called (rather than when the underlying implementation object was created). This can be an expensive method to evaluate, and can generate reams and reams (and reams) of output, so don't use it willy-nilly.

Note that unlike the corresponding command-line command, which keeps going in the face of errors by moving on to the next file (or whatever), any errors encountered in this method will cause an exception from this method at the first error, so plan accordingly....

Specified by:
getChangelistDiffsStream in interface IServer
Parameters:
id - the ID of the target changelist
options - DescribeOptions behavioural options for method.
Returns:
InputStream onto the diff stream. Note that while this stream will not be null, it may be empty
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:
IServer.getChangelistDiffsStream(int, com.perforce.p4java.option.server.DescribeOptions)

getRevisionHistory

public Map<IFileSpec,List<IFileRevisionData>> getRevisionHistory(List<IFileSpec> fileSpecs,
                                                                 int maxRevs,
                                                                 boolean contentHistory,
                                                                 boolean includeInherited,
                                                                 boolean longOutput,
                                                                 boolean truncatedLongOutput)
                                                          throws ConnectionException,
                                                                 AccessException
Description copied from interface: IServer
Get the revision history data for one or more Perforce files.

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 IServer
Parameters:
fileSpecs - filespecs to be processed; if null or empty, an empty Map is returned.
maxRevs - if positive, return at most maxRev revisions for each 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 revision data for qualifying files; the map is keyed by the IFileSpec of the associated file, meaning that errors are signaled using the normal IFileSpec getOpStatus() method.
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
See Also:
IServer.getRevisionHistory(java.util.List, int, boolean, boolean, boolean, boolean)

getRevisionHistory

public Map<IFileSpec,List<IFileRevisionData>> getRevisionHistory(List<IFileSpec> fileSpecs,
                                                                 GetRevisionHistoryOptions opts)
                                                          throws P4JavaException
Description copied from interface: IOptionsServer
Get the revision history data for one or more Perforce files.

Specified by:
getRevisionHistory in interface IOptionsServer
Parameters:
fileSpecs - filespecs to be processed; if null or empty, an empty Map is returned.
opts - GetRevisionHistoryOptions object describing optional parameters; if null, no options are set.
Returns:
a non-null map of lists of revision data for qualifying files; the map is keyed by the IFileSpec of the associated file, meaning that errors are signaled using the normal IFileSpec getOpStatus() method.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getRevisionHistory(java.util.List, com.perforce.p4java.option.server.GetRevisionHistoryOptions)

getOpenedFiles

public List<IFileSpec> getOpenedFiles(List<IFileSpec> fileSpecs,
                                      boolean allClients,
                                      String clientName,
                                      int maxFiles,
                                      int changeListId)
                               throws ConnectionException,
                                      AccessException
Description copied from interface: IServer
If one or more Perforce file specs is passed-in, return the opened / locked status of each file (if known) within an IFileSpec object; otherwise return a list of all files known to be open for this Perforce client workspace.

The returned list can be modified with the other arguments as described below.

Specified by:
getOpenedFiles in interface IServer
Parameters:
fileSpecs - if non-empty, determine the status of the specified files; otherwise return all qualifying files known to be open
allClients - if true, return results for all known clients rather than the current client (if any).
clientName - if non-null, return results for the named client only.
maxFiles - if positive, return only the first maxFiles qualifying files.
changeListId - if positive, return only files associated with the given changelist ID; if IChangelist.DEFAULT, retrieve files open associated with the default changelist.
Returns:
non-null but possibly-empty list of qualifying open files. Not all fields in individual file specs will be valid or make sense to be accessed.
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
See Also:
IServer.getOpenedFiles(java.util.List, boolean, java.lang.String, int, int)

getOpenedFiles

public List<IFileSpec> getOpenedFiles(List<IFileSpec> fileSpecs,
                                      OpenedFilesOptions opts)
                               throws P4JavaException
Description copied from interface: IOptionsServer
If one or more Perforce file specs is passed-in, return the opened / locked status of each file (if known) within an IFileSpec object; otherwise return a list of all files known to be open for this Perforce client workspace.

Specified by:
getOpenedFiles in interface IOptionsServer
Parameters:
fileSpecs - if non-empty, determine the status of the specified files; otherwise return all qualifying files known to be open
opts - possibly-null OpenedFilesOptions object object specifying method options.
Returns:
non-null but possibly-empty list of qualifying open files. Not all fields in individual file specs will be valid or make sense to be accessed.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
com.perforce.p4java.server.IServer#getOpenedFiles(java.util.List, com.perforce.p4java.option.server.OpenedFilesOptions)

getFileContents

public InputStream getFileContents(List<IFileSpec> fileSpecs,
                                   boolean allRevs,
                                   boolean noHeaderLine)
                            throws ConnectionException,
                                   RequestException,
                                   AccessException
Description copied from interface: IServer
Return an InputStream onto the contents of one or more revisions of one or more Perforce depot file contents.

If file is specified as a Perforce client workspace file name, the client view is used to find the corresponding depot file. If a file argument has a revision, then all files as of that revision are streamed. If a file argument has a revision range, then only files selected by that revision range are streamed, and the highest revision in the range is used for each file. Normally, only the head revision is printed.

The underlying input stream is not guaranteed to support mark() and skip() operations, and in some cases can be absolutely ginormously long it is also not guaranteed to be printable, and will be in the charset encoding stored in the Perforce server.

You should close the InputStreamReader 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.

Note that unlike the corresponding command-line command, which keeps going in the face of errors by moving on to the next file (or whatever), any errors encountered in this method will cause an exception from this method at the first error, so plan accordingly....

Specified by:
getFileContents in interface IServer
Parameters:
fileSpecs - non-null list of depot or client file specs defining files to be streamed
allRevs - if true, streams all revisions within the specific range, rather than just the highest revision in the range
noHeaderLine - if true, suppresses the initial line that displays the file name and revision for each file / revision contents
Returns:
a non-null but possibly-empty InputStream onto the file / revision 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:
IServer.getFileContents(java.util.List, boolean, boolean)

getFileContents

public InputStream getFileContents(List<IFileSpec> fileSpecs,
                                   GetFileContentsOptions opts)
                            throws P4JavaException
Description copied from interface: IOptionsServer
Return an InputStream onto the contents of one or more revisions of one or more Perforce depot file contents.

If file is specified as a Perforce client workspace file name, the client view is used to find the corresponding depot file. If a file argument has a revision, then all files as of that revision are streamed. If a file argument has a revision range, then only files selected by that revision range are streamed, and the highest revision in the range is used for each file. Normally, only the head revision is printed.

The underlying input stream is not guaranteed to support mark() and skip() operations, and in some cases can be absolutely ginormously long it is also not guaranteed to be printable, and will be in the charset encoding stored in the Perforce server.

You should close the InputStreamReader 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.

Note that unlike the corresponding command-line command, which keeps going in the face of errors by moving on to the next file (or whatever), any errors encountered in this method will cause an exception from this method at the first error, so plan accordingly....

Specified by:
getFileContents in interface IOptionsServer
Parameters:
fileSpecs - non-null list of depot or client file specs defining files to be streamed
opts - GetFileContentsOptions object describing optional parameters; if null, no options are set.
Returns:
a non-null but possibly-empty InputStream onto the file / revision contents.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getFileContents(java.util.List, com.perforce.p4java.option.server.GetFileContentsOptions)

getDirectories

public List<IFileSpec> getDirectories(List<IFileSpec> fileSpecs,
                                      boolean clientOnly,
                                      boolean deletedOnly,
                                      boolean haveListOnly)
                               throws ConnectionException,
                                      AccessException
Description copied from interface: IServer
List any directories matching the passed-in file specifications.

Specified by:
getDirectories in interface IServer
Parameters:
fileSpecs - non-null list of file specifications
clientOnly - if true, limit the returns to directories that are mapped in the current Perforce client workspace
deletedOnly - if true, includes directories with only deleted files.
haveListOnly - if true, lists directories of files on the 'have' list.
Returns:
non-null but possibly empty list of qualifying directory file specs; only the getPath() path will be valid.
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
See Also:
IServer.getDirectories(java.util.List, boolean, boolean, boolean)

getDirectories

public List<IFileSpec> getDirectories(List<IFileSpec> fileSpecs,
                                      GetDirectoriesOptions opts)
                               throws P4JavaException
Description copied from interface: IOptionsServer
List any directories matching the passed-in file specifications.

Specified by:
getDirectories in interface IOptionsServer
Parameters:
fileSpecs - non-null list of file specifications.
opts - GetDirectoriesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty list of qualifying directory file specs; only the getPath() path will be valid.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getDirectories(java.util.List, com.perforce.p4java.option.server.GetDirectoriesOptions)

getSubmittedIntegrations

public List<IFileSpec> getSubmittedIntegrations(List<IFileSpec> fileSpecs,
                                                String branchSpec,
                                                boolean reverseMappings)
                                         throws ConnectionException,
                                                RequestException,
                                                AccessException
Description copied from interface: IServer
Get a list of submitted integrations for the passed-in filespecs.

Specified by:
getSubmittedIntegrations in interface IServer
Parameters:
fileSpecs - if null or ommitted, all qualifying depot files are used.
branchSpec - if non-null, only files integrated from the source to target files in the branch view are shown. Qualified files are displayed even if they were integrated without using the branch view itself.
reverseMappings - if true,reverses the mappings in the branch view, with the target files and source files exchanging place. This requires the branchSpec to be non-null.
Returns:
a non-null but possibly empty list of IFileSpec representing qualifying integrations.
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:
IServer.getSubmittedIntegrations(java.util.List, java.lang.String, boolean)

getSubmittedIntegrations

public List<IFileSpec> getSubmittedIntegrations(List<IFileSpec> fileSpecs,
                                                GetSubmittedIntegrationsOptions opts)
                                         throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of submitted integrations for the passed-in filespecs

Specified by:
getSubmittedIntegrations in interface IOptionsServer
Parameters:
fileSpecs - if null or omitted, all qualifying depot files are used.
opts - GetSubmittedIntegrations object describing optional parameters; if null, no options are set.
Returns:
a non-null but possibly empty list of IFileSpec representing qualifying integrations.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getSubmittedIntegrations(java.util.List, com.perforce.p4java.option.server.GetSubmittedIntegrationsOptions)

getInterchanges

public List<IChangelist> getInterchanges(IFileSpec fromFile,
                                         IFileSpec toFile,
                                         boolean showFiles,
                                         boolean longDesc,
                                         int maxChangelistId)
                                  throws ConnectionException,
                                         RequestException,
                                         AccessException
Description copied from interface: IServer
Get a list of changes and / or associated files not yet integrated (unsupported). Corresponds fairly closely to the p4 interchanges command for filespecs.

Note that if showFiles is true, the returned files are attached to the associated changelist, and can be retrieved using the getFiles(false) method -- and note that if you call getFiles(true) you will get a refreshed list of all files associated with the changelist, which is probably different from the list associated with the integration.

Note also that if there are no qualifying changes, this method will return an empty list rather than throw an exception; this behaviour is different to that seen with the p4 command line which will throw an exception.

Specified by:
getInterchanges in interface IServer
Parameters:
fromFile - non-null from-file specification.
toFile - non-null to-file specification.
showFiles - if true, show the individual files that would require integration.
longDesc - if true, return a long description in the changelist.
maxChangelistId - if greater than zero, only consider integration history from changelists at or below the given number
Returns:
non-null (but possibly empty) list of qualifying changelists. Note that the changelists returned here may not have all fields set (only description, ID, date, user, and client are known to be properly set by the server for this command).
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:
IServer.getInterchanges(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, boolean, boolean, int)

getInterchanges

public List<IChangelist> getInterchanges(String branchSpecName,
                                         List<IFileSpec> fromFileList,
                                         List<IFileSpec> toFileList,
                                         boolean showFiles,
                                         boolean longDesc,
                                         int maxChangelistId,
                                         boolean reverseMapping,
                                         boolean biDirectional)
                                  throws ConnectionException,
                                         RequestException,
                                         AccessException
Description copied from interface: IServer
Get a list of changes and / or associated files not yet integrated, based on branchspecs (unsupported). Corresponds fairly closely to the p4 interchanges command for branchspecs.

Note that if showFiles is true, the returned files are attached to the associated changelist, and can be retrieved using the getFiles(false) method -- and note that if you call getFiles(true) you will get a refreshed list of all files associated with the changelist, which is probably different from the list associated with the integration.

Note also that if there are no qualifying changes, this method will return an empty list rather than throw an exception; this behaviour is different to that seen with the p4 command line which will throw an exception.

Specified by:
getInterchanges in interface IServer
Parameters:
branchSpecName - non-null, non-empty branch spec name.
fromFileList - if non-null and not empty, and biDirectional is true, use this as the from file list.
toFileList - if non-null and not empty, use this as the to file list.
showFiles - if true, show the individual files that would require integration.
longDesc - if true, return a long description in the changelist.
maxChangelistId - if greater than zero, only consider integration
reverseMapping - if true, reverse the mappings in the branch view, with the target files and source files exchanging place.
Returns:
non-null (but possibly empty) list of qualifying changelists. Note that the changelists returned here may not have all fields set (only description, ID, date, user, and client are known to be properly set by the server for this command).
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:
IServer.getInterchanges(java.lang.String, java.util.List, java.util.List, boolean, boolean, int, boolean, boolean)

getInterchanges

public List<IChangelist> getInterchanges(IFileSpec fromFile,
                                         IFileSpec toFile,
                                         GetInterchangesOptions opts)
                                  throws P4JavaException
Specified by:
getInterchanges in interface IOptionsServer
Parameters:
fromFile - non-null from-file specification.
toFile - non-null to-file specification.
opts - GetInterchangesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null (but possibly empty) list of qualifying changelists. Note that the changelists returned here may not have all fields set (only description, ID, date, user, and client are known to be properly set by the server for this command)
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getInterchanges(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.option.server.GetInterchangesOptions)

getInterchanges

public List<IChangelist> getInterchanges(String branchSpecName,
                                         List<IFileSpec> fromFileList,
                                         List<IFileSpec> toFileList,
                                         GetInterchangesOptions opts)
                                  throws P4JavaException
Specified by:
getInterchanges in interface IOptionsServer
Parameters:
branchSpecName - non-null, non-empty branch spec name.
toFileList - if non-null and not empty, use this as the to file list.
opts - GetInterchangesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null (but possibly empty) list of qualifying changelists. Note that the changelists returned here may not have all fields set (only description, ID, date, user, and client are known to be properly set by the server for this command)
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getInterchanges(java.lang.String, java.util.List, java.util.List, com.perforce.p4java.option.server.GetInterchangesOptions)

getExtendedFiles

public List<IExtendedFileSpec> getExtendedFiles(List<IFileSpec> fileSpecs,
                                                int maxFiles,
                                                int sinceChangelist,
                                                int affectedByChangelist,
                                                FileStatOutputOptions outputOptions,
                                                FileStatAncilliaryOptions ancilliaryOptions)
                                         throws ConnectionException,
                                                AccessException
Description copied from interface: IServer
Return a list of everything Perforce knows about a possibly very large set of Perforce files.

This method is not intended for general use, and is not documented in detail here; consult the main Perforce fstat command documentation for detailed help. In particular, the various options are too complex to be described in a few sentences here, and the various option arguments reflect this complexity. Note that setting both sinceChangelist and affectedByChangelist to zero or a positive value will cause usage errors from the server (these are currently intended to be mutually-exclusive options).

This method can be a real server and bandwidth resource hog, and should be used as sparingly as possible; alternatively, try to use it with as narrow a set of file specs as possible.

Specified by:
getExtendedFiles in interface IServer
Parameters:
fileSpecs - non-null list of Perforce file specification(s)
maxFiles - if positive, restrict the output to the first maxReturns files. Implementations are free to ignore this parameter if necessary (and return all qualifying results).
sinceChangelist - if larger than or equal to zero, display only files affected since the given changelist number; zero is equivalent to IChangelist.DEFAULT.
affectedByChangelist - if larger than or equal to zero, display only files affected by the given changelist number; zero is equivalent to IChangelist.DEFAULT.
outputOptions - if non-null, specifies the oputput options to be used
ancilliaryOptions - if non-null, specifies the ancilliary output options to be used
Returns:
a non-null (but possibly empty) list of qualifying files and associated stat info
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
See Also:
IServer.getExtendedFiles(java.util.List, int, int, int, com.perforce.p4java.core.file.FileStatOutputOptions, com.perforce.p4java.core.file.FileStatAncilliaryOptions)

getExtendedFiles

public List<IExtendedFileSpec> getExtendedFiles(List<IFileSpec> fileSpecs,
                                                GetExtendedFilesOptions opts)
                                         throws P4JavaException
Description copied from interface: IOptionsServer
Return a list of everything Perforce knows about a set of Perforce files.

This method is not intended for general use, and is not documented in detail here; consult the main Perforce fstat command documentation for detailed help. This method can be a real server and bandwidth resource hog, and should be used as sparingly as possible; alternatively, try to use it with as narrow a set of file specs as possible.

Specified by:
getExtendedFiles in interface IOptionsServer
Parameters:
fileSpecs - non-null list of Perforce file specification(s).
opts - GetExtendedFilesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null (but possibly empty) list of qualifying files and associated stat info.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getExtendedFiles(java.util.List, com.perforce.p4java.option.server.GetExtendedFilesOptions)

getJobs

public List<IJob> getJobs(List<IFileSpec> fileSpecs,
                          int maxJobs,
                          boolean longDescriptions,
                          boolean reverseOrder,
                          boolean includeIntegrated,
                          String jobView)
                   throws ConnectionException,
                          RequestException,
                          AccessException
Description copied from interface: IServer
Return a list of Perforce jobs. Note that (as discussed in the IJob comments) Perforce jobs can have a wide variety of fields, formats, semantics, etc., and this method can return a list that may have to be unpacked at the map level by the consumer to make any sense of it.

Note that this method (unlike the main file list methods) throws an exception and stops at the first encountered error.

Specified by:
getJobs in interface IServer
Parameters:
fileSpecs - if given, return only jobspecs affecting the given file(s)
maxJobs - if positive, return only up to maxJobs results
longDescriptions - if true, return full descriptions, otherwise show only a subset (typically the first 128 characters, but this is not guaranteed).
reverseOrder - if true, reverse the normal sort order
includeIntegrated - if true, include any fixes made by changelists integrated into the specified files
jobView - if non-null, a string in format detailed by "p4 help jobview" used to restrict jobs to those satisfying the job view expression.
Returns:
a non-null (but possibly-empty) list of qualifying Perforce jobs
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:
IServer.getJobs(java.util.List, int, boolean, boolean, boolean, java.lang.String)

getJobs

public List<IJob> getJobs(List<IFileSpec> fileSpecs,
                          GetJobsOptions opts)
                   throws P4JavaException
Description copied from interface: IOptionsServer
Return a list of Perforce jobs. Note that (as discussed in the IJob comments) Perforce jobs can have a wide variety of fields, formats, semantics, etc., and this method can return a list that may have to be unpacked at the map level by the consumer to make any sense of it.

Note that this method (unlike the main file list methods) throws an exception and stops at the first encountered error.

Specified by:
getJobs in interface IOptionsServer
Parameters:
fileSpecs - if given, return only jobspecs affecting the given file(s).
opts - GetJobsOptions object describing optional parameters; if null, no options are set.
Returns:
a non-null (but possibly-empty) list of qualifying Perforce jobs.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getJobs(java.util.List, com.perforce.p4java.option.server.GetJobsOptions)

getJob

public IJob getJob(String jobId)
            throws ConnectionException,
                   RequestException,
                   AccessException
Description copied from interface: IServer
Get a specific job. Note that some implementations of the underlying server do not return null if you ask for a job that doesn't exist; you must do your own checking to see of what's returned represents a real job or not.

Specified by:
getJob in interface IServer
Parameters:
jobId - non-null job Id.
Returns:
IJob for the named job; null if no such job.
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:
IServer.getJob(java.lang.String)

createJob

public IJob createJob(Map<String,Object> fieldMap)
               throws ConnectionException,
                      RequestException,
                      AccessException
Description copied from interface: IServer
Create a new Perforce job in the Perforce server corresponding to the passed-in Perforce job fields (which in turn should correspond to at least the mandatory fields defined in the reigning Perforce job spec).

Perforce job semantics, field count and layout, etc., are to some extent free-form and specified for each server by the associated job spec (retrievable using the getJobSpec() method below), so map fields are passed to the Perforce server exactly as passed to the create method in the job's field map, so you need to know the field names and semantics given by the associated job spec. This includes setting the relevant job ID field to "new", but otherwise, no checking is done on fields in this method against the job spec (this may be added later).

Specified by:
createJob in interface IServer
Parameters:
fieldMap - non-null field map defining the new job in the Perforce server.
Returns:
returns an IJob representing the newly-created job, if successful.
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:
IServer.createJob(java.util.Map)

updateJob

public String updateJob(IJob job)
                 throws ConnectionException,
                        RequestException,
                        AccessException
Description copied from interface: IServer
Update a Perforce job on the Perforce server. Note that only the associated raw fields map is used for field values; the main description and ID fields are actually ignored.

The returned string will contain whatever the Perforce server returned in response to this command; in general, if the update fails, an exception will be thrown, meaning that the returned string represents success only. There are two success states -- either the job was saved or it didn't need saving (it was the same after updating). Consumers should parse this accordingly.

Specified by:
updateJob in interface IServer
Parameters:
job - non-null candidate for updating.
Returns:
possibly-null status message as returned from the server; this may include form trigger output pre-pended and / or appended to the "normal" message.
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:
IServer.updateJob(com.perforce.p4java.core.IJob)

deleteJob

public String deleteJob(String jobId)
                 throws ConnectionException,
                        RequestException,
                        AccessException
Description copied from interface: IServer
Delete a job from the Perforce server. Note that this method does not change the status of the associated job locally, just on the Perforce server.

Specified by:
deleteJob in interface IServer
Parameters:
jobId - ID of the job to be deleted.
Returns:
possibly-null status message as returned from the server; this may include form trigger output pre-pended and / or appended to the "normal" message.
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:
IServer.deleteJob(java.lang.String)

getJobSpec

public IJobSpec getJobSpec()
                    throws ConnectionException,
                           RequestException,
                           AccessException
Description copied from interface: IServer
Return the Perforce jobspec associated with this Perforce server.

Specified by:
getJobSpec in interface IServer
Returns:
possibly-null IJobSpec representing the unserlying Perforc server's jobspec.
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:
IServer.getJobSpec()

getFixList

public List<IFix> getFixList(List<IFileSpec> fileSpecs,
                             int changeListId,
                             String jobId,
                             boolean includeIntegrations,
                             int maxFixes)
                      throws ConnectionException,
                             RequestException,
                             AccessException
Description copied from interface: IServer
Return a list of all Perforce jobs with fix records associated with them, along with the changelist number of the fix. Detailed semantics for this method are given in the main Perforce documentation for the p4 command "fixes".

Note that this method (unlike the main file list methods) throws an exception and stops at the first encountered error.

Specified by:
getFixList in interface IServer
Parameters:
fileSpecs - if given, restrict output to fixes associated with these files
changeListId - if positive, only fixes from the numbered changelist are listed.
jobId - if non-null, only fixes for the named job are listed
includeIntegrations - if true, include any fixes made by changelists integrated into the specified files
maxFixes - if positive, restrict the list to the first maxFixes fixes
Returns:
non-null but possibly empty list of qualifying IFix fixes.
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:
IServer.getFixList(java.util.List, int, java.lang.String, boolean, int)

getFixes

public List<IFix> getFixes(List<IFileSpec> fileSpecs,
                           GetFixesOptions opts)
                    throws P4JavaException
Description copied from interface: IOptionsServer
Return a list of all Perforce jobs with fix records associated with them, along with the changelist number of the fix. Detailed semantics for this method are given in the main Perforce documentation for the p4 command "fixes".

Note that this method (unlike the main file list methods) throws an exception and stops at the first encountered error.

Specified by:
getFixes in interface IOptionsServer
Parameters:
fileSpecs - if given, restrict output to fixes associated with these files
opts - FixListOptions object describing optional parameters; if null, no options are set
Returns:
non-null but possibly empty list of qualifying IFix fixes.
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
com.perforce.p4java.server.IServer#getFixList(java.util.List, com.perforce.p4java.option.server.GetFixesOptions)

fixJobs

public List<IFix> fixJobs(List<String> jobIdList,
                          int changeListId,
                          String status,
                          boolean delete)
                   throws ConnectionException,
                          RequestException,
                          AccessException
Description copied from interface: IServer
Mark each named job as being fixed by the changelist number given with changeListId. Full details of the use of this method and the associated parameters will not be given here; consult the main Perforce documentation for the details.

Specified by:
fixJobs in interface IServer
changeListId - changelist number
status - if non-null, use this as the new status rather than "closed"
delete - if true, delete the specified fixes
Returns:
list of affected fixes
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:
IServer.fixJobs(java.util.List, int, java.lang.String, boolean)

fixJobs

public List<IFix> fixJobs(List<String> jobIds,
                          int changelistId,
                          FixJobsOptions opts)
                   throws P4JavaException
Description copied from interface: IOptionsServer
Mark each named job as being fixed by the changelist number given with changeListId.

Specified by:
fixJobs in interface IOptionsServer
changelistId - changelist ID for affected changelist.
opts - FixJobsOptions object describing optional parameters; if null, no options are set.
Returns:
list of affected fixes.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
com.perforce.p4java.server.IOptionsServer#fixJobs(java.util.List, com.perforce.p4java.option.server.FixJobsOptions)

getCounter

public String getCounter(String counterName)
                  throws ConnectionException,
                         RequestException,
                         AccessException
Description copied from interface: IServer
Get the value of a named Perforce counter from the Perforce server. Note that this method will return a zero string (i.e. "0") if the named counter doesn't exist (rather than throw an exception); use getCounters to see if a counter actually exists before you use it.

Note that despite their name, counters can be any value, not just a number; hence the string return value here.

Specified by:
getCounter in interface IServer
Parameters:
counterName - non-null counter name.
Returns:
non-null (but possibly empty or useless) counter value associated with counterName.
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:
IServer.getCounter(java.lang.String)

setCounter

public void setCounter(String counterName,
                       String value,
                       boolean perforceCounter)
                throws ConnectionException,
                       RequestException,
                       AccessException
Specified by:
setCounter in interface IServer
Throws:
ConnectionException
RequestException
AccessException
See Also:
IServer.setCounter(java.lang.String, java.lang.String, boolean)

setCounter

public String setCounter(String counterName,
                         String value,
                         CounterOptions opts)
                  throws P4JavaException
Description copied from interface: IOptionsServer
Create, set or delete a counter on a Perforce server. This method can be used to create, set, increment, or delete a counter according to the specific options set in the associated options object. Note that the increment operation does not work on servers earlier than 10.1, and that the return value is never guaranteed to be non-null -- use with caution.

Specified by:
setCounter in interface IOptionsServer
Parameters:
counterName - non-null counter name.
value - value the counter should be set to; can be null if the set operation is an increment.
opts - CounterOptions object describing optional parameters; if null, no options are set.
Returns:
possibly-null current (post-set, post-increment) value; may be zero if the operation was a delete; may not be reliable for pre 10.1 servers.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.setCounter(java.lang.String, java.lang.String, com.perforce.p4java.option.server.CounterOptions)

deleteCounter

public void deleteCounter(String counterName,
                          boolean perforceCounter)
                   throws ConnectionException,
                          RequestException,
                          AccessException
Specified by:
deleteCounter in interface IServer
Throws:
ConnectionException
RequestException
AccessException
See Also:
IServer.deleteCounter(java.lang.String, boolean)

getCounters

public Map<String,String> getCounters()
                               throws ConnectionException,
                                      RequestException,
                                      AccessException
Description copied from interface: IServer
Get a map of the Perforce server's counters. Counter usage is not explained here -- see the main Perforce documentation -- but in general they're sometimes useful to get an indirect idea of server capabilities and state.

Specified by:
getCounters in interface IServer
Returns:
a non-null (but possibly empty) map of counters. key and value semantics and format are not specified here.
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:
IServer.getCounters()

getServerProcesses

public List<IServerProcess> getServerProcesses()
                                        throws ConnectionException,
                                               RequestException,
                                               AccessException
Description copied from interface: IServer
Return a list of Perforce server processes active on the Perforce server. Will throw a request exception if monitors are not enabled on the target server.

Specified by:
getServerProcesses in interface IServer
Returns:
non-null but possibly-empty list of IServerProcess objects
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:
IServer.getServerProcesses()

getServerFileDiffs

public InputStream getServerFileDiffs(IFileSpec file1,
                                      IFileSpec file2,
                                      String branchSpecName,
                                      DiffType diffType,
                                      boolean quiet,
                                      boolean includeNonTextDiffs,
                                      boolean gnuDiffs)
                               throws ConnectionException,
                                      RequestException,
                                      AccessException
Description copied from interface: IServer
Run diff on the Perforce server of two files in the depot.

This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics. In particular, the various potentially-valid combinations of branch spec and file specs can be complicated and won't be repeated here.

As with other streams-based IServer methods, callers should ensure that the stream returned here is always explicitly closed after use; if not closed, the stream's associated temporary files managed by P4Java (if they exist) may not be properly deleted.

Specified by:
getServerFileDiffs in interface IServer
Parameters:
file1 - optional first file IFileSpec
file2 - optional second file IFileSpec
branchSpecName - optional branch spec name
quiet - if true, suppresses the display of the header lines of files whose content and types are identical and suppresses the actual diff for all files.
includeNonTextDiffs - if true, forces 'p4 diff2' to diff even files with non-text (binary) types
gnuDiffs - see "-u" option in the main diff2 documentation.
Returns:
non-null but possibly empty InputStream of diffs and headers as returned from the server.
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:
IServer.getServerFileDiffs(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, java.lang.String, com.perforce.p4java.core.file.DiffType, boolean, boolean, boolean)

getFileDiffs

public List<IFileDiff> getFileDiffs(IFileSpec file1,
                                    IFileSpec file2,
                                    String branchSpecName,
                                    DiffType diffType,
                                    boolean quiet,
                                    boolean includeNonTextDiffs,
                                    boolean gnuDiffs)
                             throws ConnectionException,
                                    RequestException,
                                    AccessException
Description copied from interface: IServer
Run diff on the Perforce server of two files in the depot.

This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics. In particular, the various potentially-valid combinations of branch spec and file specs can be complicated and won't be repeated here.

Specified by:
getFileDiffs in interface IServer
Parameters:
file1 - optional first file IFileSpec
file2 - optional second file IFileSpec
branchSpecName - optional branch spec name
quiet - if true, suppresses the display of the header lines of files whose content and types are identical and suppresses the actual diff for all files.
includeNonTextDiffs - if true, forces 'p4 diff2' to diff even files with non-text (binary) types
gnuDiffs - see "-u" option in the main diff2 documentation.
Returns:
non-null but possibly empty array of file diffs
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:
IServer.getFileDiffs(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, java.lang.String, com.perforce.p4java.core.file.DiffType, boolean, boolean, boolean)

getFileDiffsStream

public InputStream getFileDiffsStream(IFileSpec file1,
                                      IFileSpec file2,
                                      String branchSpecName,
                                      GetFileDiffsOptions opts)
                               throws P4JavaException
Description copied from interface: IOptionsServer
Run diff on the Perforce server of two files in the depot.

This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics.

As with other streams-based IServer methods, callers should ensure that the stream returned here is always explicitly closed after use; if not closed, the stream's associated temporary files managed by P4Java (if they exist) may not be properly deleted.

Specified by:
getFileDiffsStream in interface IOptionsServer
file2 - optional second file IFileSpec
branchSpecName - optional branch spec name
opts - GetFileDiffsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty InputStream of diffs and headers as returned from the server.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getFileDiffsStream(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, java.lang.String, com.perforce.p4java.option.server.GetFileDiffsOptions)

getFileDiffs

public List<IFileDiff> getFileDiffs(IFileSpec file1,
                                    IFileSpec file2,
                                    String branchSpecName,
                                    GetFileDiffsOptions opts)
                             throws P4JavaException
Description copied from interface: IOptionsServer
Run diff on the Perforce server of two files in the depot.

This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics.

Specified by:
getFileDiffs in interface IOptionsServer
file2 - optional second file IFileSpec
branchSpecName - optional branch spec name
opts - GetFileDiffsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty array of file diffs
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getFileDiffs(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, java.lang.String, com.perforce.p4java.option.server.GetFileDiffsOptions)

getDbSchema

public List<IDbSchema> getDbSchema(List<String> tableSpecs)
                            throws ConnectionException,
                                   RequestException,
                                   AccessException
Description copied from interface: IServer
Get the database schema associated with this server (admin / superuser command).

See the main p4 admin command documentation for full semantics and usage details.

Specified by:
getDbSchema in interface IServer
Parameters:
tableSpecs - if null, return all known schema; otherwise, restrict the returned list to the named tables and table versions.
Returns:
a non-null but possibly empty list of IDbSchema for the passed-in schema identifiers.
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:
IServer.getDbSchema(java.util.List)

getExportRecords

public List<Map<String,Object>> getExportRecords(boolean useJournal,
                                                 long maxRecs,
                                                 int sourceNum,
                                                 long offset,
                                                 boolean format,
                                                 String journalPrefix,
                                                 String filter)
                                          throws ConnectionException,
                                                 RequestException,
                                                 AccessException
Description copied from interface: IServer
Get a list of exported journal or checkpoint records (admin / superuser command).

See the main p4 admin command documentation for full semantics and usage details.

Specified by:
getExportRecords in interface IServer
Parameters:
useJournal - if true, export journal records; otherwise, export checkpoint records.
maxRecs - if larger than zero, return only the first maxRec lines
sourceNum - checkpoint or journal number.
offset - offset with in checkpoint or journal.
format - if true, formats record output appropriately for the type of data.
journalPrefix - if not null, specify a journal name prefix.
filter - if not null, pass the specified filter to the exporter.
Returns:
non-null but possibly empty list of maps representing exported journal or checkpoint records.
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:
IServer.getExportRecords(boolean, long, int, long, boolean, java.lang.String, java.lang.String)

getExportRecords

public List<Map<String,Object>> getExportRecords(ExportRecordsOptions opts)
                                          throws P4JavaException
Description copied from interface: IOptionsServer
Get a list of exported journal or checkpoint records (admin / superuser command).

See the main p4 admin command documentation for full semantics and usage details.

Specified by:
getExportRecords in interface IOptionsServer
Parameters:
opts - ExportRecordsOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty list of maps representing exported journal or checkpoint records.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.getExportRecords(com.perforce.p4java.option.server.ExportRecordsOptions)

setFileAttributes

public List<IFileSpec> setFileAttributes(List<IFileSpec> files,
                                         Map<String,String> attributes,
                                         SetFileAttributesOptions opts)
                                  throws P4JavaException
Description copied from interface: IOptionsServer
Set file attributes on one or more files (unsupported). See the main Perforce documentation for an explanation of file attributes, which are potentially complex and difficult to use efficiently. Attributes can currently only be retrieved using the getExtendedFiles (fstat) operation.

Note that this method only accepts String attribute values; if the attribute is intended to be binary, use the setHexValue setter on the associated SetFileAttributesOptions object and hexify the value, or, alternatively, use the stream version of this method. String input this way will be converted to bytes for the attributes before being sent to the Perforce server using the prevailing character set. If this is a problem, use hex encoding or the stream variant of this method

Note that attributes can only be removed from a file by setting the appropriate value of the name / value pair passed-in through the attributes map to null.

Note that the filespecs returned by this method, if valid, contain only the depot path and version information; no other field can be assumed to be valid. Note also that, while the p4 command line executable returns a list of results that amounts to the cross product of files and attributes, this method never returns more than one result for each file affected.

Specified by:
setFileAttributes in interface IOptionsServer
Parameters:
files - non-null list of files to be affected
attributes - a non-null Map of attribute name / value pairs; if any value is null, that attribute is removed.
opts - SetFileAttributesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty list of filespec results for the operation.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
com.perforce.p4java.server.IOptionsServer#setFileAttributes(com.perforce.p4java.option.server.SetFileAttributesOptions, java.util.Map, java.util.List)

setFileAttributes

public List<IFileSpec> setFileAttributes(List<IFileSpec> files,
                                         String attributeName,
                                         InputStream inStream,
                                         SetFileAttributesOptions opts)
                                  throws P4JavaException
Description copied from interface: IOptionsServer
Set a file attribute on one or more files using the passed-in input stream as the source for the attribute's value (unsupported). See the main Perforce documentation for an explanation of file attributes, which are potentially complex and difficult to use efficiently. Attributes can currently only be retrieved using the getExtendedFiles (fstat) operation.

This method is intended to allow for unmediated binary definitions of file attribute contents, and is typically used for things like thumbnails that are too big to be conveniently handled using hex conversion with the strings-based version of this method. Absolutely no interpretation is done on the stream -- it's bytes all the way... there is also no hard limit to the size of the stream that contains the attribute value, but the consequences on both the enclosing app and the associated Perforce server of too-large attributes may be severe. Typical 8K thumbnails are no problem at all, but something in the megabyte range or larger might be problematic at both ends.

Note that this method will leave the passed-in stream open, but (in general) the stream's read pointer will be at the end of the stream when this method returns. You are responsible for closing the stream if necessary after the call; you are also responsible for ensuring that the read pointer is where you want it to be in the stream (i.e. where you want the method to start reading the attribute value from) when you pass in the stream. I/O errors while reading the stream will be logged, but otherwise generally ignored -- you must check the actual results of this operation yourself.

Note that the server currently only supports setting file attributes using a stream for one filespec at a time, but for reasons of symmetry you must pass in a list of (one) filespec. Note that this doesn't necessarily mean only one file is affected in the depot, just that only one file spec is used to specify the affected file(s).

Note that attributes can only be removed from a file by setting the appropriate value of the name / value pair passed-in through the attributes map to null.

Note that the filespecs returned by this method, if valid, contain only the depot path and version information; no other field can be assumed to be valid. Note also that, while the p4 command line executable returns a list of results that amounts to the cross product of files and attributes, this method never returns more than one result for each file affected.

Specified by:
setFileAttributes in interface IOptionsServer
Parameters:
files - non-null list of files to be affected.
attributeName - the non-null name of the attribute to be set.
inStream - non-null InputStream ready for reading the attribute value from.
opts - SetFileAttributesOptions object describing optional parameters; if null, no options are set.
Returns:
non-null but possibly empty list of filespec results for the operation.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
com.perforce.p4java.server.IOptionsServer#setFileAttributes(com.perforce.p4java.option.server.SetFileAttributesOptions, java.io.InputStream, java.util.List)

showServerConfiguration

public List<ServerConfigurationValue> showServerConfiguration(String serverName,
                                                              String variableName)
                                                       throws P4JavaException
Description copied from interface: IOptionsServer
Show server configuration values. See the main Perforce documentation for the details of this admin command, but note that only one of serverName or variableName should be non-null (they can both be null, which means ignore them both). If they're both null, serverName currently takes precedence, but that's not guaranteed.

Note: you must be an admin or super user for this command to work.

Specified by:
showServerConfiguration in interface IOptionsServer
Parameters:
serverName - if not null, only show values associated with the named server; if equals ServerConfigurationValue.ALL_SERVERS, show values associated with all participating servers.
variableName - if not null, only show the value of this named config variable.
Returns:
non-null (but possibly-empty) list of qualifying ServerConfigurationValue objects.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.showServerConfiguration(java.lang.String, java.lang.String)

setServerConfigurationValue

public String setServerConfigurationValue(String name,
                                          String value)
                                   throws P4JavaException
Description copied from interface: IOptionsServer
Set or unset a specific names server configuration variable. Config variables are unset by passing in a null value parameter.

Expected variable name formats are as specified in the main Perforce documentation: [servername + #] variablename -- but this is not enforced by P4Java itself.

Note: you must be an admin or super user for this command to work.

Specified by:
setServerConfigurationValue in interface IOptionsServer
Parameters:
name - non-null config variable name.
value - if null, unset the named variable; otherwise, set it to the passed-in string value.
Returns:
possibly-null operation status string returned by the server in response to this set / unset attempt.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IOptionsServer.setServerConfigurationValue(java.lang.String, java.lang.String)

handleErrorStr

public boolean handleErrorStr(Map<String,Object> map)
                       throws RequestException,
                              AccessException
Throws:
RequestException
AccessException

handleFileReturn

public IFileSpec handleFileReturn(Map<String,Object> map)
                           throws AccessException,
                                  ConnectionException
Throws:
AccessException
ConnectionException

handleFileReturn

public IFileSpec handleFileReturn(Map<String,Object> map,
                                  IClient client)
                           throws AccessException,
                                  ConnectionException
Throws:
AccessException
ConnectionException

handleIntegrationFileReturn

public IFileSpec handleIntegrationFileReturn(Map<String,Object> map,
                                             IClient client)
                                      throws AccessException,
                                             ConnectionException
Throws:
AccessException
ConnectionException

handleIntegrationFileReturn

public IFileSpec handleIntegrationFileReturn(Map<String,Object> map,
                                             boolean ignoreInfo)
                                      throws AccessException,
                                             ConnectionException
Throws:
AccessException
ConnectionException

handleFileErrorStr

public String handleFileErrorStr(Map<String,Object> map)
                          throws ConnectionException,
                                 AccessException
Throws:
ConnectionException
AccessException

guardNull

public static String guardNull(String str)

getPreferredPathArray

public static String[] getPreferredPathArray(String[] preamble,
                                             List<IFileSpec> specList,
                                             boolean annotate)

getPreferredPathArray

public static String[] getPreferredPathArray(String[] preamble,
                                             List<IFileSpec> specList)

populatePathArray

public static String[] populatePathArray(String[] pathArray,
                                         int start,
                                         List<IFileSpec> fileSpecList)

execMapCmd

public Map<String,Object>[] execMapCmd(CmdSpec cmdSpec,
                                       String[] cmdArgs,
                                       Map<String,Object> inMap)
                                throws ConnectionException,
                                       AccessException
Throws:
ConnectionException
AccessException

execStreamCmd

public InputStream execStreamCmd(CmdSpec cmdSpec,
                                 String[] cmdArgs)
                          throws ConnectionException,
                                 RequestException,
                                 AccessException
Throws:
ConnectionException
RequestException
AccessException

isUnicode

protected boolean isUnicode()

getErrorStr

public abstract String getErrorStr(Map<String,Object> map)

getErrorOrInfoStr

public abstract String getErrorOrInfoStr(Map<String,Object> map)

getInfoStr

public abstract String getInfoStr(Map<String,Object> map)

isAuthFail

public abstract boolean isAuthFail(String errStr)

isInfoMessage

public abstract boolean isInfoMessage(Map<String,Object> map)

getGenericCode

protected abstract int getGenericCode(Map<String,Object> map)

getSeverityCode

protected abstract int getSeverityCode(Map<String,Object> map)

execMapCmd

public abstract Map<String,Object>[] execMapCmd(String cmdName,
                                                String[] cmdArgs,
                                                Map<String,Object> inMap)
                                         throws ConnectionException,
                                                AccessException,
                                                RequestException
Description copied from interface: IServer
Issue an arbitrary P4Java command to the Perforce server and return the results as a map.

This method is intended for low-level commands in the spirit and format of the p4 command line interpreter, and offers a simple way to issue commands to the associated Perforce server without the overhead of the more abstract Java interfaces and methods.

No guidance is given here on the format of the returned map; however, it produces the same output as the p4 command line interpreter in -G (Python map) mode.

Note that this method does not allow you to set "usage" options for the command; these may be added later. Note also that although option arguments passed to this method must be in a form recognized by the p4 command line interpreter, that does not mean the method is being implemented by the interpreter -- the actual implementation depends on the options used to get the server object in the first place from the server factory.

Specified by:
execMapCmd in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
inMap - an optional map to be sent to the server as standard input, using the Python map format (-G) form. You must remember to issue the relevant command-specific option to enable this if needed.
Returns:
a non-null Java Map of results; these results are as returned from issuing the command using the -G option with the p4 command line interpreter.
Throws:
ConnectionException - if the Perforce server is unreachable or is not connected.
AccessException - if the Perforce server denies access to the caller
RequestException - if the Perforce server encounters an error during its processing of the request
See Also:
IServer.execMapCmd(java.lang.String, java.lang.String[], java.util.Map)

execInputStringMapCmd

public abstract Map<String,Object>[] execInputStringMapCmd(String cmdName,
                                                           String[] cmdArgs,
                                                           String inString)
                                                    throws P4JavaException
Description copied from interface: IServer
Issue an arbitrary P4Java command to the Perforce server and return the results as a map.

This method is intended for low-level commands in the spirit and format of the p4 command line interpreter, and offers a simple way to issue commands to the associated Perforce server without the overhead of the more abstract Java interfaces and methods.

No guidance is given here on the format of the returned map; however, it produces the same output as the p4 command line interpreter in -G (Python map) mode.

Note that this method does not allow you to set "usage" options for the command; these may be added later. Note also that although option arguments passed to this method must be in a form recognized by the p4 command line interpreter, that does not mean the method is being implemented by the interpreter -- the actual implementation depends on the options used to get the server object in the first place from the server factory.

Specified by:
execInputStringMapCmd in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
inString - an optional string to be sent to the server as standard input unchanged (this must be in the format expected by the server, typically as required when using the "-i" flag to the p4 command line app for the same command). You must remember to issue the relevant command-specific option to enable this if needed.
Returns:
a non-null Java Map of results; these results are as returned from issuing the command using the -G option with the p4 command line interpreter.
Throws:
P4JavaException - if an error occurs processing this method and its parameters
See Also:
IServer.execInputStringMapCmd(java.lang.String, java.lang.String[], java.lang.String)

execQuietMapCmd

public abstract Map<String,Object>[] execQuietMapCmd(String cmdName,
                                                     String[] cmdArgs,
                                                     Map<String,Object> inMap)
                                              throws ConnectionException,
                                                     RequestException,
                                                     AccessException
Description copied from interface: IServer
Issue an arbitrary P4Java command to the Perforce server and return the results as a map without invoking any command callbacks.

Basically equivalent to execMapCmd with temporary disabling of any ICommandCallback calls and / or listeners; this turns out to be useful for various reasons we won't go into here...

Specified by:
execQuietMapCmd in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
inMap - an optional map to be sent to the server as standard input, using the Python map format (-G) form. You must remember to issue the relevant command-specific option to enable this if needed.
Returns:
a non-null Java Map of results; these results are as returned from issuing the command using the -G option with the p4 command line interpreter.
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:
IServer.execQuietMapCmd(java.lang.String, java.lang.String[], java.util.Map)

execStreamCmd

public abstract InputStream execStreamCmd(String cmdName,
                                          String[] cmdArgs)
                                   throws ConnectionException,
                                          RequestException,
                                          AccessException
Description copied from interface: IServer
Issue an arbitrary P4Java command to the Perforce server and get the results as a stream.

This method is intended for low-level commands in the spirit and format of the p4 command line interpreter, and offers a simple way to issue commands to the associated Perforce server without the overhead of the more abstract Java interfaces and methods.

Note that this method is intended for things like getting file contents, and may have unpredictable results on commands not originally expected to return i/o streams.

Note that this method does not allow you to set "usage" options for the command; these may be added later. Note also that although option arguments passed to this method must be in a form recognized by P4Java (as defined by the CmdSpec enum), that does not mean the method is being implemented by the interpreter -- the actual implementation depends on the options used to get the server object in the first place from the server factory.

Specified by:
execStreamCmd in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
Returns:
an InputStream on the command output. This will never be null, but it may be empty. You must properly close this stream after use or temporary files may be left lying around the VM's java.io.tmpdir area.
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:
IServer.execStreamCmd(java.lang.String, java.lang.String[])

execQuietStreamCmd

public abstract InputStream execQuietStreamCmd(String cmdName,
                                               String[] cmdArgs)
                                        throws ConnectionException,
                                               RequestException,
                                               AccessException
Description copied from interface: IServer
Issue an arbitrary P4Java command to the Perforce server and get the results as a stream without invoking any command callbacks.

Basically equivalent to execStreamCmd with temporary disabling of any ICommandCallback calls and / or listeners; this turns out to be useful for various reasons we won't go into here...

Specified by:
execQuietStreamCmd in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
Returns:
an InputStream on the command output. This will never be null, but it may be empty. You must properly close this stream after use or temporary files may be left lying around the VM's java.io.tmpdir area.
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:
IServer.execQuietStreamCmd(java.lang.String, java.lang.String[])

execStreamingMapCommand

public abstract void execStreamingMapCommand(String cmdName,
                                             String[] cmdArgs,
                                             Map<String,Object> inMap,
                                             IStreamingCallback callback,
                                             int key)
                                      throws P4JavaException
Description copied from interface: IServer
Issue a streaming map command to the Perforce server, using an optional map for any input expected by the server (such as label or job specs, etc.).

Streaming commands allow users to get each result from a suitably-issued command as it comes in from the server, rather than waiting for the entire command method to complete (and getting the results back as a completed List or Map or whatever).

The results are sent to the user using the IStreamingCallback handleResult method; see the IStreamingCallback Javadoc for details. The payload passed to handleResult is usually the raw map gathered together deep in the RPC protocol layer, and the user is assumed to have the knowledge and technology to be able to parse it and use it suitably in much the same way as a user unpacks or processes the results from the other low-level exec methods like execMapCommand.

NOTE: 'streaming' here has nothing at all to do with Perforce 'streams', which are (or will be) implemented elsewhere.

Specified by:
execStreamingMapCommand in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
inMap - an optional map to be sent to the server as standard input, using the Python map format (-G) form. You must remember to issue the relevant command-specific option to enable this if needed.
callback - a non-null IStreamingCallback to be used to process the incoming results.
key - an opaque integer key that is passed to the IStreamingCallback callback methods to identify the action as being associated with this specific call.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IServer.execStreamingMapCommand(java.lang.String, java.lang.String[], java.util.Map, com.perforce.p4java.server.callback.IStreamingCallback, int)

execInputStringStreamingMapComd

public abstract void execInputStringStreamingMapComd(String cmdName,
                                                     String[] cmdArgs,
                                                     String inString,
                                                     IStreamingCallback callback,
                                                     int key)
                                              throws P4JavaException
Description copied from interface: IServer
Issue a streaming map command to the Perforce server, using an optional string for any input expected by the server (such as label or job specs, etc.).

Streaming commands allow users to get each result from a suitably-issued command as it comes in from the server, rather than waiting for the entire command method to complete (and getting the results back as a completed List or Map or whatever).

The results are sent to the user using the IStreamingCallback handleResult method; see the IStreamingCallback Javadoc for details. The payload passed to handleResult is usually the raw map gathered together deep in the RPC protocol layer, and the user is assumed to have the knowledge and technology to be able to parse it and use it suitably in much the same way as a user unpacks or processes the results from the other low-level exec methods like execMapCommand.

NOTE: 'streaming' here has nothing at all to do with Perforce 'streams', which are (or will be) implemented elsewhere.

Specified by:
execInputStringStreamingMapComd in interface IServer
Parameters:
cmdName - the command to be issued; must be non-null, and correspond to a Perforce command recognized by P4Java and defined in CmdSpec.
cmdArgs - the array of command arguments (options and file arguments, etc.) to be sent to the Perforce server. These must be in the form used by the corresponding p4 command line interpreter. Ignored if null.
inString - an optional string to be sent to the server as standard input unchanged (this must be in the format expected by the server, typically as required when using the "-i" flag to the p4 command line app for the same command). You must remember to issue the relevant command-specific option to enable this if needed.
callback - a non-null IStreamingCallback to be used to process the incoming results.
key - an opaque integer key that is passed to the IStreamingCallback callback methods to identify the action as being associated with this specific call.
Throws:
P4JavaException - if an error occurs processing this method and its parameters.
See Also:
IServer.execInputStringStreamingMapComd(java.lang.String, java.lang.String[], java.lang.String, com.perforce.p4java.server.callback.IStreamingCallback, int)

getClientName

public String getClientName()

getWorkingDirectory

public String getWorkingDirectory()
Description copied from interface: IServer
Get the underlying server's notion of the current working directory. If this method returns null, the server is using the JVM's current working directory, typically available as the System user.dir property.

Specified by:
getWorkingDirectory in interface IServer
Returns:
current working directory path, or null if not set

setWorkingDirectory

public void setWorkingDirectory(String dirPath)
Description copied from interface: IServer
Set the Perforce server's idea of each command's working directory. This affects all commands on this server from this point on, and the passed-in path should be both absolute and valid, otherwise strange errors may appear from the server. If dirPath is null, the Java VM's actual current working directory is used instead (which is almost always a safe option unless you're using Perforce alt roots).

Note: no checking is done at call time for correctness (or otherwise) of the passed-in path.

Specified by:
setWorkingDirectory in interface IServer
Parameters:
dirPath - absolute path of directory to be used, or null

setClientName

public void setClientName(String clientName)

getServerVersion

protected int getServerVersion()
                        throws ConnectionException
Throws:
ConnectionException

getInfoServerAddress

protected String getInfoServerAddress()
Get the server address entry from the p4 info.

Returns:
- server address or null if error

parseVersionString

protected int parseVersionString(String versionString)
Return the major version number (e.g. 20081) from the passed-in complete version string. Instead of using regex or anything too complex we just keep splitting the string and recombining; this could be optimised or flexibilised fairly easily on one of those long rainy days... (HR).


isRunningOnWindows

public static boolean isRunningOnWindows()
Return true if the JVM indicates that we're running on a Windows platform. Not entirely reliable, but good enough for our purposes.


getP4TicketsOSLocation

protected String getP4TicketsOSLocation()
Get p4tickets location for the running OS

Returns:
- location if known for the current os

processInterchangeMaps

protected List<IChangelist> processInterchangeMaps(Map<String,Object>[] mapArray,
                                                   boolean showFiles)
                                            throws ConnectionException,
                                                   AccessException,
                                                   RequestException
Throws:
ConnectionException
AccessException
RequestException

getMatchingLines

public List<IFileLineMatch> getMatchingLines(List<IFileSpec> fileSpecs,
                                             String pattern,
                                             MatchingLinesOptions options)
                                      throws P4JavaException
Description copied from interface: IOptionsServer
Get list of matching lines in the specified file specs. This method implements the p4 grep command; for full semantics, see the separate p4 documentation and / or the GrepOptions Javadoc.

Specified by:
getMatchingLines in interface IOptionsServer
Parameters:
fileSpecs - file specs to search for matching lines
pattern - non-null string pattern to be passed to the grep command
options - - Options to grep command
Returns:
- non-null but possibly empty list of file line matches
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getMatchingLines(java.util.List, java.lang.String, com.perforce.p4java.option.server.MatchingLinesOptions)

getMatchingLines

public List<IFileLineMatch> getMatchingLines(List<IFileSpec> fileSpecs,
                                             String pattern,
                                             List<String> infoLines,
                                             MatchingLinesOptions options)
                                      throws P4JavaException
Description copied from interface: IOptionsServer
Get list of matching lines in the specified file specs. This method implements the p4 grep command; for full semantics, see the separate p4 documentation and / or the GrepOptions Javadoc.

This method allows the user to retrieve useful info and warning message lines the Perforce server may generate in response to things like encountering a too-long line, etc., by passing in a non-null infoLines parameter.

Specified by:
getMatchingLines in interface IOptionsServer
Parameters:
fileSpecs - file specs to search for matching lines
pattern - non-null string pattern to be passed to the grep command
infoLines - if not null, any "info" lines returned from the server (i.e. warnings about exceeded line lengths, etc.) will be put into the passed-in list in the order they are received.
options - - Options to grep command
Returns:
- non-null but possibly empty list of file line matches
Throws:
P4JavaException - if any error occurs in the processing of this method.
See Also:
IOptionsServer.getMatchingLines(java.util.List, java.lang.String, java.util.List, com.perforce.p4java.option.server.MatchingLinesOptions)

getSSOCallback

public ISSOCallback getSSOCallback()

getSSOKey

public String getSSOKey()

getUsageOptions

public UsageOptions getUsageOptions()
Description copied from interface: IOptionsServer
Get the UsageOptions object associated with this server.

Specified by:
getUsageOptions in interface IOptionsServer
Returns:
possibly-null UsageOptions object.

setUsageOptions

public Server setUsageOptions(UsageOptions usageOptions)
Description copied from interface: IOptionsServer
Set the UsageOptions object associated with this server. Note that changing this object (or its contents) while a server is busy can cause issues.

Specified by:
setUsageOptions in interface IOptionsServer
Parameters:
usageOptions - non-null UsageOptions object to associate with this server.
Returns:
the current server.

isNonCheckedSyncs

public boolean isNonCheckedSyncs()

setNonCheckedSyncs

public void setNonCheckedSyncs(boolean nonCheckedSyncs)


Copyright © 2011 Perforce Software. All Rights Reserved.