org.apache.tools.ant.taskdefs.optional.perforce

## Class P4Change

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.perforce.P4Base
      - - org.apache.tools.ant.taskdefs.optional.perforce.P4Change

- All Implemented Interfaces:
    java.lang.Cloneable

      public class P4Change
      extends P4Base

  Requests a new changelist from the Perforce server. P4Change creates a new changelist in perforce. P4Change sets the property ${p4.change} with the new changelist number. This should then be passed into p4edit and p4submit.
  See Also:
    `P4Edit`, `P4Submit`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `description`
    `protected java.lang.String` | `emptyChangeList`

    - ### Fields inherited from class org.apache.tools.ant.taskdefs.optional.perforce.P4Base

      `failOnError, P4Client, P4CmdOpts, P4Opts, P4Port, P4User, P4View, shell, util`

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `P4Change()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `backslash(java.lang.String value)` Ensure that a string is backslashing slashes so that it does not confuse them with Perl substitution delimiter in Oro.
    `void` | `execute()` creates a new Perforce change list sets the p4.change property to the number of the new change list
    `java.lang.String` | `getEmptyChangeList()` returns the text of an empty change list
    `void` | `setDescription(java.lang.String desc)` Description for ChangeList;optional.

    - ### Methods inherited from class org.apache.tools.ant.taskdefs.optional.perforce.P4Base

      `execP4Command, execP4Command, getErrorMessage, getInError, init, setClient, setCmdopts, setErrorMessage, setFailonerror, setGlobalopts, setInError, setPort, setUser, setView`

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### emptyChangeList

          protected java.lang.String emptyChangeList

    - #### description

          protected java.lang.String description

  - ### Constructor Detail

    - #### P4Change

          public P4Change()

  - ### Method Detail

    - #### execute

          public void execute()
                       throws BuildException

      creates a new Perforce change list sets the p4.change property to the number of the new change list
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - if the word error appears in the output coming from Perforce

    - #### getEmptyChangeList

          public java.lang.String getEmptyChangeList()
                                              throws BuildException

      returns the text of an empty change list
      Returns:
        the text of an empty change list
      Throws:
        `BuildException` - if the text error is displayed in the Perforce output outside of a comment line

    - #### backslash

          public static final java.lang.String backslash(java.lang.String value)

      Ensure that a string is backslashing slashes so that it does not confuse them with Perl substitution delimiter in Oro. Backslashes are always backslashes in a string unless they escape the delimiter.
      Parameters:
        `value` - the string to backslash for slashes
      Returns:
        the backslashed string
      See Also:
        Oro

    - #### setDescription

          public void setDescription(java.lang.String desc)

      Description for ChangeList;optional. If none is specified, it will default to "AutoSubmit By Ant"
      Overrides:
        `setDescription` in class `ProjectComponent`
      Parameters:
        `desc` - description for the change list