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
`protected` `SvnRemoteSetProperty(SvnOperationFactory factory)`

### Method Summary

Methods
`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, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp`

### 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`