Package org.tmatesoft.svn.core.wc2

## Class SvnRemoteSetProperty

- java.lang.Object
- - org.tmatesoft.svn.core.wc2.SvnOperation<T>
  - - org.tmatesoft.svn.core.wc2.SvnReceivingOperation<SVNCommitInfo>
    - - org.tmatesoft.svn.core.wc2.AbstractSvnCommit
      - - org.tmatesoft.svn.core.wc2.SvnRemoteSetProperty

- All Implemented Interfaces:
    `ISvnObjectReceiver<SVNCommitInfo>`, `ISvnOperationOptionsProvider`

      public class SvnRemoteSetProperty
      extends AbstractSvnCommit

  Sets `propertyName` to `propertyValue` on each `targets`. If `propertyValue` is `null`, operation will delete the property. Targets should represent URLs.

  `baseRevision` must not be null; in this case, the property will only be set if it has not changed since `baseRevision`.

  The `authentication manager` and `commit handler`, either provided by a caller or default ones, will be used to immediately attempt to commit the property change in the repository. `SvnOperation.run()` returns `SVNCommitInfo` commit information if the commit succeeds. This method throws SVNException if the following is true:
  - `url` does not exist in `baseRevision`
  - exception with `SVNErrorCode.CLIENT_PROPERTY_NAME` error code - if `propertyName` is a revision property name or not a valid property name or not a regular property name (one starting with an "svn:entry" or `"svn:wc"` prefix)
  - exception with `SVNErrorCode.UNSUPPORTED_FEATURE` error code - if `propertyName` is either equal to `SVNProperty.EOL_STYLE` or `SVNProperty.KEYWORDS` or `SVNProperty.CHARSET`
  Version:
    1.7
  Author:
    TMate Software Ltd.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `SvnRemoteSetProperty​(SvnOperationFactory factory)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `ensureArgumentsAreValid()` |
    `SVNRevision` | `getBaseRevision()` | Returns operation's revision to change properties against
    `SVNPropertyValue` | `getOriginalPropertyValue()` | Returns property's original value, it was set by caller
    `java.lang.String` | `getPropertyName()` | Gets name of the property.
    `ISvnObjectReceiver<SVNPropertyData>` | `getPropertyReceiver()` | Returns operation's property receiver.
    `SVNPropertyValue` | `getPropertyValue()` | Returns the property's value.
    `boolean` | `isChangesWorkingCopy()` | Gets whether the operation changes working copy
    `boolean` | `isForce()` | Returns whether to skip validity checking of `propertyName` and `propertyValue`.
    `void` | `setBaseRevision​(SVNRevision baseRevision)` | Sets operation's revision to change properties against
    `void` | `setForce​(boolean force)` | Sets whether to skip validity checking of `propertyName` and `propertyValue`.
    `void` | `setOriginalPropertyValue​(SVNPropertyValue originalPropertyValue)` | Sets property's original value to hold this information for the caller
    `void` | `setPropertyName​(java.lang.String propertyName)` | Sets name of the property.
    `void` | `setPropertyReceiver​(ISvnObjectReceiver<SVNPropertyData> propertyReceiver)` | Sets operation's property receiver.
    `void` | `setPropertyValue​(SVNPropertyValue propertyValue)` | Sets the property's value.

    - ### Methods inherited from class org.tmatesoft.svn.core.wc2.AbstractSvnCommit

      `getCommitHandler, getCommitMessage, getRevisionProperties, setCommitHandler, setCommitMessage, setRevisionProperties, setRevisionProperty`

    - ### Methods inherited from class org.tmatesoft.svn.core.wc2.SvnReceivingOperation

      `first, getReceiver, initDefaults, last, receive, run, setReceiver`

    - ### Methods inherited from class org.tmatesoft.svn.core.wc2.SvnOperation

      `addTarget, cancel, ensureEnoughTargets, ensureHomohenousTargets, getApplicableChangelists, getAuthenticationManager, getCanceller, getDepth, getEventHandler, getFirstTarget, getMaximumTargetsCount, getMinimumTargetsCount, getOperationalWorkingCopy, getOperationFactory, getOptions, getRepositoryPool, getRevision, getSqliteJournalMode, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp, setSqliteJournalMode`

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

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

- - ### Constructor Detail

    - #### SvnRemoteSetProperty

          protected SvnRemoteSetProperty​(SvnOperationFactory factory)

  - ### Method Detail

    - #### isForce

          public boolean isForce()

      Returns whether to skip validity checking of `propertyName` and `propertyValue`.
      Returns:
        force `true` if validity checking should be skipped, otherwise `false`
      See Also:
        `setForce(boolean)`

    - #### setForce

          public void setForce​(boolean force)

      Sets whether to skip validity checking of `propertyName` and `propertyValue`. If `force` is `true`, this operation does no validity checking. But if `force` is `false`, and `propertyName` is not a valid property for `targets`, it throws an exception, either with an error code `SVNErrorCode.ILLEGAL_TARGET` (if the property is not appropriate for target), or with `SVNErrorCode.BAD_MIME_TYPE` (if `propertyName` is `"svn:mime-type"`, but `propertyValue` is not a valid mime-type).
      Parameters:
        `force` - `true` if validity checking should be skipped, otherwise `false`

    - #### getPropertyName

          public java.lang.String getPropertyName()

      Gets name of the property.
      Returns:
        name of the property
      See Also:
        `setPropertyName(String)`

    - #### setPropertyName

          public void setPropertyName​(java.lang.String propertyName)

      Sets name of the property. If `propertyName` is an svn-controlled property (i.e. prefixed with "svn:"), then the caller is responsible for ensuring that the value uses LF line-endings.

    - #### getPropertyValue

          public SVNPropertyValue getPropertyValue()

      Returns the property's value. If `propertyValue` is `null`, operation will delete the property.
      Returns:
        value of the property

    - #### setPropertyValue

          public void setPropertyValue​(SVNPropertyValue propertyValue)

      Sets the property's value. If `propertyValue` is `null`, operation will delete the property.
      Parameters:
        `propertyValue` - value of the property

    - #### getBaseRevision

          public SVNRevision getBaseRevision()

      Returns operation's revision to change properties against
      Returns:
        base revision of the operation

    - #### setBaseRevision

          public void setBaseRevision​(SVNRevision baseRevision)

      Sets operation's revision to change properties against
      Parameters:
        `baseRevision` - base revision of the operation

    - #### getPropertyReceiver

          public ISvnObjectReceiver<SVNPropertyData> getPropertyReceiver()

      Returns operation's property receiver.
      Returns:
        property receiver of the operation

    - #### setPropertyReceiver

          public void setPropertyReceiver​(ISvnObjectReceiver<SVNPropertyData> propertyReceiver)

      Sets operation's property receiver.
      Parameters:
        `propertyReceiver` - property receiver of the operation

    - #### getOriginalPropertyValue

          public SVNPropertyValue getOriginalPropertyValue()

      Returns property's original value, it was set by caller
      Returns:
        original value of the property

    - #### setOriginalPropertyValue

          public void setOriginalPropertyValue​(SVNPropertyValue originalPropertyValue)

      Sets property's original value to hold this information for the caller
      Parameters:
        `originalPropertyValue` - original value of the property

    - #### ensureArgumentsAreValid

          protected void ensureArgumentsAreValid()
                                          throws SVNException

      Overrides:
        `ensureArgumentsAreValid` in class `SvnOperation<SVNCommitInfo>`
      Throws:
        `SVNException`

    - #### isChangesWorkingCopy

          public boolean isChangesWorkingCopy()

      Gets whether the operation changes working copy
      Overrides:
        `isChangesWorkingCopy` in class `SvnOperation<SVNCommitInfo>`
      Returns:
        `true` if the operation changes the working copy, otherwise `false`