Class PropertyDefs

java.lang.Object
com.perforce.p4java.PropertyDefs

public class PropertyDefs extends Object
Defines keys and default values for common and useful P4Java-wide properties. Particularly useful for initial properties passed in through the server factory to define things like calling-program name and version, but note that (as individually noted below) some properties defined here must be defined at load time through the system properties or they will have no effect.

Unless otherwise noted in the individual definitions below, properties defined here apply to all protocol implementations.

Unless noted otherwise below, most properties can have an optional short form which is typically just the full form without the cumbersome com.perforce.p4java (etc.) prefix; use of the short form is particularly convenient for passing in properties through the server factory url mechanism, but you have to be careful that there are no system or environment properties with a conflicting name.

  • Field Details

    • P4JAVA_PROP_KEY_PREFIX

      public static final String P4JAVA_PROP_KEY_PREFIX
      The standard default P4Java server properties key prefix.
      See Also:
    • PROG_NAME_KEY_SHORTFORM

      public static final String PROG_NAME_KEY_SHORTFORM
      Short form program name key.
      See Also:
    • PROG_VERSION_KEY_SHORTFORM

      public static final String PROG_VERSION_KEY_SHORTFORM
      Short form program version key.
      See Also:
    • PROG_VERSION_KEY

      public static final String PROG_VERSION_KEY
      Properties key for the calling-program version. Usage is intended to be similar to the p4 command lines -zversion flag. If no corresponding property is given, the value defined by PROG_VERSION_DEFAULT below is used.
      See Also:
    • PROG_VERSION_DEFAULT

      public static final String PROG_VERSION_DEFAULT
      Default calling-program version to use if no calling program property is set with the PROG_VERSION_KEY key, above.
    • PROG_NAME_KEY

      public static final String PROG_NAME_KEY
      Properties key for the calling-program name. Usage is intended to be similar to the p4 command lines -zprog flag. If no corresponding property is given, the value defined by PROG_NAME_DEFAULT below is used.
      See Also:
    • PROG_NAME_DEFAULT

      public static final String PROG_NAME_DEFAULT
      Default calling-program name to use if no calling program property is set with the PROG_NAME_KEY key, above.
      See Also:
    • CLIENT_UNSET_NAME_KEY

      public static final String CLIENT_UNSET_NAME_KEY
      Property key for passing in a suitable client name to be used when we don't actually have (or want) a Perforce client associated with a Perforce server connection. If no such property is given, the value used defaults to CLIENT_UNSET_NAME_DEFAULT, below.
      See Also:
    • CLIENT_UNSET_NAME_DEFAULT

      public static final String CLIENT_UNSET_NAME_DEFAULT
      Default value to be used for the unset client name (see the comments for CLIENT_UNSET_NAME_KEY, above) when no associated property is set.
      See Also:
    • USER_UNSET_NAME_KEY

      public static final String USER_UNSET_NAME_KEY
      Property key for passing in a suitable user name to be used when we don't actually have (or want) a Perforce user associated with a Perforce server connection. If no such property is given, the value used defaults to USER_UNSET_NAME_DEFAULT, below.
      See Also:
    • USER_UNSET_NAME_DEFAULT

      public static final String USER_UNSET_NAME_DEFAULT
      Default value to be used for the unset user name (see the comments for USER_UNSET_NAME_KEY, above) when no associated property is set.
      See Also:
    • P4JAVA_TMP_DIR_KEY

      public static final String P4JAVA_TMP_DIR_KEY
      Property name key for the P4Java API's temporary directory. Unless otherwise noted, this directory will be used for temporary files, and, unless set by this property, it will default to whatever's in the system java.io.tmpdir property.

      Note that sync operations will sync to temporary files in the enclosing directory of the target file rather than to the default tmp directory if this property is not set; this is so that cross-device copies are not needed at the end of each file sync from tmp to target. If set, however, this property's value will be used for sync ops as well.

      See Also:
    • USER_NAME_KEY_SHORTFORM

      public static final String USER_NAME_KEY_SHORTFORM
      Short form user name key.
      See Also:
    • USER_NAME_KEY

      public static final String USER_NAME_KEY
      Property key for a Perforce user name set though the P4Java properties mechanism. If set, an IServer returned from the server factory will have its user name set to this value.
      See Also:
    • PASSWORD_KEY_SHORTFORM

      public static final String PASSWORD_KEY_SHORTFORM
      Short form password key.
      See Also:
    • PASSWORD_KEY

      public static final String PASSWORD_KEY
      Property key for a Perforce password set though the P4Java properties mechanism. If set, an IServer returned from the server factory will have its password set to this value.
      See Also:
    • CLIENT_NAME_KEY_SHORTFORM

      public static final String CLIENT_NAME_KEY_SHORTFORM
      Short form client name key.
      See Also:
    • CLIENT_NAME_KEY

      public static final String CLIENT_NAME_KEY
      Property key for a Perforce client name set though the P4Java properties mechanism. If set, an IServer returned from the server factory will have its client name set to this value.
      See Also:
    • CLIENT_PATH_KEY_SHORTFORM

      public static final String CLIENT_PATH_KEY_SHORTFORM
      Short form client path key.
      See Also:
    • CLIENT_PATH_KEY

      public static final String CLIENT_PATH_KEY
      Property key for a Perforce client path set though the P4Java properties mechanism. If set, an IServer returned from the server factory will have its client path set to this value.
      See Also:
    • AUTO_CONNECT_KEY_SHORTFORM

      public static final String AUTO_CONNECT_KEY_SHORTFORM
      Short form autoconnect key.
      See Also:
    • AUTO_CONNECT_KEY

      public static final String AUTO_CONNECT_KEY
      If AUTO_CONNECT_KEY (or its short form) is set, attempt to connect with the client name, if the clientName is also set. Will be done after any auto logins (see below).
      See Also:
    • AUTO_LOGIN_KEY_SHORTFORM

      public static final String AUTO_LOGIN_KEY_SHORTFORM
      Short form auto login key.
      See Also:
    • AUTO_LOGIN_KEY

      public static final String AUTO_LOGIN_KEY
      If AUTO_LOGIN_KEY (or its short form) is set, attempt to perform a login on connect(). Will only actually try the login if userName and password are also set through the properties menachnism.
      See Also:
    • TICKET_PATH_KEY_SHORT_FORM

      public static final String TICKET_PATH_KEY_SHORT_FORM
      If this property is set, attempt to use this path as the p4tickets file.
      See Also:
    • TICKET_PATH_KEY

      public static final String TICKET_PATH_KEY
      If this property is set, attempt to use this path as the p4tickets file.
      See Also:
    • DEFAULT_CHARSET_KEY

      public static final String DEFAULT_CHARSET_KEY
      If DEFAULT_CHARSET_KEY is set in the Java system properties, it defines the name of the charset used to convert strings to and from the Perforce server if that server is NOT in Unicode mode. Note that this property is fundamental and must be set early on, i.e. in the System properties at P4Java startup / load time.

      If this property is not set at P4Java load time, the default charset name is the current JVM default charset name if not null.

      Note that this value has no effect whatever when running against a non-Unicode Perforce server.

      Note also that this property has no short form.

      See Also:
    • WRITE_IN_PLACE_SHORT_FORM

      public static final String WRITE_IN_PLACE_SHORT_FORM
      Short form of the WRITE_IN_PLACE_KEY, below.
      See Also:
    • WRITE_IN_PLACE_KEY

      public static final String WRITE_IN_PLACE_KEY
      If WRITE_IN_PLACE_KEY is true, certain operations listed below may write file contents from the Perforce server directly to the target client file rather than to a temporary file (which is then renamed to the target file).

      In general, this property should not be used unless you're on a Windows box and seeing performance issues with sync operations; even then it's probably best to consult with a Perforce support person before trying it, as this property has been introduced as a workaround to a known Java bug with file renaming on JDK 6 and earlier VMs on Windows boxes, and may not be an optimal solution for everyone. Known side-effects (besides performance) may include partial file content syncs in cases where network errors occur, but this is very rare and will not result in server-side data loss or corruption (in fact it's yet to be observed at all within Perforce).

      Currently only the sync command honors this property.

      See Also:
    • NON_CHECKED_SYNC_SHORT_FORM

      public static final String NON_CHECKED_SYNC_SHORT_FORM
      Short form of the NON_CHECKED_SYNC property (below).
      Since:
      2011.1
      See Also:
    • NON_CHECKED_SYNC

      public static final String NON_CHECKED_SYNC
      If the NON_CHECKED_SYNC property is set (to any value), syncs and certain other operations (see below) against 2010.2 or later Perforce servers will not have integrity checks performed during the operations. The default is to use integrity checks on these operations with 2010.2 or later servers (these additional checks are not done for earlier server versions).

      By default, for 2010.2 and later servers, the integrity checks are performed on the client for sync, revert, unshelve, and integ operations, and on the server for submit and shelve. Note that this feature can also be disabled on the server side (see the Perforce admin command for details).

      Since:
      2011.1
      See Also:
    • ENABLE_TRACKING_SHORT_FORM

      public static final String ENABLE_TRACKING_SHORT_FORM
      Short form of the ENABLE_TRACKING property (below).
      Since:
      2012.1
      See Also:
    • ENABLE_TRACKING

      public static final String ENABLE_TRACKING
      If the ENABLE_TRACKING property is set (to any value), the server performance tracking information will be returned as part of the result for applicable commands. You can see what tables a command is accessing, and implicitly locking. In addition to the command's usual output, the "track" information includes the table name and the type of locks obtained on that table.

      Note that using "-Ztrack" users will have to handle tracking information return from the lower level "raw" IServer.exec* methods.

      Since:
      2012.1
      See Also:
    • ENABLE_STREAMS_SHORT_FORM

      public static final String ENABLE_STREAMS_SHORT_FORM
      Short form of the ENABLE_STREAMS property (below).
      Since:
      2017.1
      See Also:
    • ENABLE_STREAMS

      public static final String ENABLE_STREAMS
      If the ENABLE_STREAMS property is set (to any value), the server enable streams commands.
      Since:
      2017.1
      See Also:
    • ENABLE_ANDMAPS_SHORT_FORM

      public static final String ENABLE_ANDMAPS_SHORT_FORM
      Short form of the ENABLE_ANDMAPS property (below).
      Since:
      2017.1
      See Also:
    • ENABLE_ANDMAPS

      public static final String ENABLE_ANDMAPS
      If the ENABLE_ANDMAPS property is set (to any value), the server expands and maps.
      Since:
      2017.1
      See Also:
    • ENABLE_GRAPH_SHORT_FORM

      public static final String ENABLE_GRAPH_SHORT_FORM
      Short form of the ENABLE_GRAPH property (below).
      Since:
      2017.1
      See Also:
    • ENABLE_GRAPH

      public static final String ENABLE_GRAPH
      If the ENABLE_GRAPH property is set (to any value), the server will reply with graph data as required.
      Since:
      2017.1
      See Also:
    • FILESYS_UTF8BOM_SHORT_FORM

      public static final String FILESYS_UTF8BOM_SHORT_FORM
      Short form of the FILESYS_UTF8BOM property (below).
      Since:
      2017.2
      See Also:
    • FILESYS_UTF8BOM

      public static final String FILESYS_UTF8BOM
      FILESYS_UTF8BOM Set to 0 to prevent writing utf8 files BOM, Set to 1 to write utf8 files with a BOM, Set to 2 to write utf8 BOM only on Windows.
      Since:
      2017.2
      See Also:
    • ENABLE_PROGRESS_SHORT_FORM

      public static final String ENABLE_PROGRESS_SHORT_FORM
      Short form of the ENABLE_PROGRESS property (below).
      Since:
      2012.3
      See Also:
    • ENABLE_PROGRESS

      public static final String ENABLE_PROGRESS
      If the ENABLE_PROGRESS property is set (to any value), a variable "progress" will be set to 1 to indicate that the server should send progress messages to the client if they are available for that command.

      Note that the progress indicator (p4 -I <command>) flag makes sense to be used with P4Java's lower level "raw" IServer.execStreamingMapCommand() method. This streaming method takes a callback handler and continuously report progress (in a result map) during the lifetime of a command.

      Since:
      2012.3
      See Also:
    • QUIET_MODE_SHORT_FORM

      public static final String QUIET_MODE_SHORT_FORM
      Short form of the QUIET_MODE property (below).
      Since:
      2013.1
      See Also:
    • QUIET_MODE

      public static final String QUIET_MODE
      If the QUIET_MODE property is set (to any value), suppress ALL info-level output.
      Since:
      2013.1
      See Also:
    • IGNORE_FILE_NAME_KEY_SHORT_FORM

      public static final String IGNORE_FILE_NAME_KEY_SHORT_FORM
      If this property is set, attempt to use this ignore file name.
      Since:
      2012.1
      See Also:
    • IGNORE_FILE_NAME_KEY

      public static final String IGNORE_FILE_NAME_KEY
      If this property is set, attempt to use this ignore file name.
      Since:
      2012.1
      See Also:
    • TRUST_PATH_KEY_SHORT_FORM

      public static final String TRUST_PATH_KEY_SHORT_FORM
      If this property is set, attempt to use this path as the p4trust file.
      Since:
      2012.1
      See Also:
    • TRUST_PATH_KEY

      public static final String TRUST_PATH_KEY
      If this property is set, attempt to use this path as the p4trust file.
      Since:
      2012.1
      See Also:
    • USE_AUTH_MEMORY_STORE_KEY_SHORT_FORM

      public static final String USE_AUTH_MEMORY_STORE_KEY_SHORT_FORM
      If this property is set (to any value), attempt to use memory instead of file to store auth tickets and fingerprints.
      Since:
      2012.3
      See Also:
    • USE_AUTH_MEMORY_STORE_KEY

      public static final String USE_AUTH_MEMORY_STORE_KEY
      If this property is set (to any value), attempt to use memory instead of file to store auth tickets and fingerprints.
      Since:
      2012.3
      See Also:
    • UNICODE_MAPPING_SHORT_FORM

      public static final String UNICODE_MAPPING_SHORT_FORM
      Short form of the UNICODE_MAPPING property (below).
      Since:
      2012.3
      See Also:
    • UNICODE_MAPPING

      public static final String UNICODE_MAPPING
      If the UNICODE_MAPPING property is set (to any value), attempt to apply Perforce specific updates to character mappings in the P4ShiftJIS charset implementation.
      Since:
      2012.3
      See Also:
    • AUTH_FILE_LOCK_TRY_KEY_SHORT_FORM

      public static final String AUTH_FILE_LOCK_TRY_KEY_SHORT_FORM
      If this property is set, attempt to use this value as the number of tries for creating a auth lock file.
      Since:
      2015.2
      See Also:
    • AUTH_FILE_LOCK_TRY_KEY

      public static final String AUTH_FILE_LOCK_TRY_KEY
      If this property is set, attempt to use this value as the number of tries for creating a auth lock file.
      Since:
      2015.2
      See Also:
    • AUTH_FILE_LOCK_DELAY_KEY_SHORT_FORM

      public static final String AUTH_FILE_LOCK_DELAY_KEY_SHORT_FORM
      If this property is set, attempt to use this value as the number of milliseconds delay for deciding if the auth lock file is new or old based on file time stamp.
      Since:
      2015.2
      See Also:
    • AUTH_FILE_LOCK_DELAY_KEY

      public static final String AUTH_FILE_LOCK_DELAY_KEY
      If this property is set, attempt to use this value as the number of milliseconds delay for deciding if the auth lock file is new or old based on file time stamp.
      Since:
      2015.2
      See Also:
    • AUTH_FILE_LOCK_WAIT_KEY_SHORT_FORM

      public static final String AUTH_FILE_LOCK_WAIT_KEY_SHORT_FORM
      If this property is set, attempt to use this value as the number of milliseconds the current thread should wait (pause execution) for the other thread/process to finish handling the auth lock file.
      Since:
      2015.2
      See Also:
    • AUTH_FILE_LOCK_WAIT_KEY

      public static final String AUTH_FILE_LOCK_WAIT_KEY
      If this property is set, attempt to use this value as the number of milliseconds the current thread should wait (pause execution) for the other thread/process to finish handling the auth lock file.
      Since:
      2015.2
      See Also:
    • CUSTOM_SPEC_KEY_SHORT_FORM

      public static final String CUSTOM_SPEC_KEY_SHORT_FORM
      If this property is set, allows the configuration of custom specs (undoc).
      Since:
      2020.1
      See Also:
    • CUSTOM_SPEC_KEY

      public static final String CUSTOM_SPEC_KEY
      If this property is set, allows the configuration of custom specs (undoc).
      Since:
      2020.1
      See Also:
  • Constructor Details

    • PropertyDefs

      public PropertyDefs()