SVNKit Home

## org.tmatesoft.svn.core
Class SVNProperties

    java.lang.Object
      org.tmatesoft.svn.core.SVNProperties

All Implemented Interfaces:
  Cloneable, Serializable

public class SVNProperties
extends Object
implements Cloneable, Serializable

The SVNProperties class represents an object wrapper for `String` to `SVNPropertyValue` mappings where `String` keys represent property names and values - property values wrapped in `SVNPropertyValue` objects.

This class is backed by a `Map` object and brings specific methods useful for working with version controlled properties.

Objects of this type are modifiable.

Since:
  1.2
Version:
  1.3
Author:
  TMate Software Ltd.
See Also:
  Serialized Form

Constructor Summary
`SVNProperties()` Creates an empty `SVNProperties` object.
`SVNProperties(SVNProperties properties)` Creates a new `SVNProperties` object copying the given one.

Method Summary
`Map` `asMap()` Returns SVNProperties as Map of String, SVNPropertyValue pairs.
`void` `clear()` Removes all properties from this object.
`Object` `clone()` Creates and returns a copy of this object.
`SVNProperties` `compareTo(SVNProperties properties)` Compares this object against another one returning a difference between them.
`boolean` `containsName(String propertyName)` Tells whether this properties object contains the specified property name.
`boolean` `containsValue(SVNPropertyValue value)` Tells whether this properties object contains the specified property value.
`boolean` `equals(Object obj)` Tells whether this object and `obj` are equal.
`byte[]` `getBinaryValue(String propertyName)` Returns a binary property value.
`SVNProperties` `getRegularProperties()` Returns a subset of properties contained in this properties object which suffice for `SVNProperty.isRegularProperty(String)` clause.
`String` `getStringValue(String propertyName)` Returns a `String` property value.
`SVNPropertyValue` `getSVNPropertyValue(String propertyName)` Returns a property value as an `SVNPropertyValue`.
`int` `hashCode()` Returns a hash code of this object.
`boolean` `isEmpty()` Tells if this properties object holds no properties (empty).
`Set` `nameSet()` Returns a set of property names contained by this object.
`void` `put(String propertyName, byte[] propertyValue)` Stores a new property name-to-value mapping in this object.
`void` `put(String propertyName, String propertyValue)` Stores a new property name-to-value mapping in this object.
`void` `put(String propertyName, SVNPropertyValue propertyValue)` Stores a new mapping `propertyName` to `propertyValue` in this object.
`void` `putAll(SVNProperties properties)` Puts all properties from the specified properties object to this object.
`SVNPropertyValue` `remove(String propertyName)` Removes the specified property from this properties object.
`void` `removeNullValues()` Removes all mappings which values are nulls from this object.
`int` `size()` Returns the number of properties held by this object.
`static SVNProperties` `unmodifiableProperties(SVNProperties properties)` Returns an unmodifiable view of the specified `properties`.
`Collection` `values()` Returns a collection of property values contained in this properties object.
`static SVNProperties` `wrap(Map map)` Creates a new `SVNProperties` object wrapping a given map with properties.

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SVNProperties

    public SVNProperties()

  Creates an empty `SVNProperties` object.

### SVNProperties

    public SVNProperties(SVNProperties properties)

  Creates a new `SVNProperties` object copying the given one.

Parameters:
  `properties` - an initializer

Method Detail

### wrap

    public static SVNProperties wrap(Map map)

  Creates a new `SVNProperties` object wrapping a given map with properties.

  `map` is not stored by this object, instead its contents are copied into a new `Map` object (which will be backed by a new `SVNProperties` object) according to the following rules:
  if the value is of type `String`, then it's wrapped into `SVNPropertyValue` using the `SVNPropertyValue.create(String)` method;
  if the value is of type `byte[]`, then it's wrapped into `SVNPropertyValue` using the `SVNPropertyValue.create(String, byte[])` method;
  if the value is of type `SVNPropertyValue`, then it's not copied but is put into a new map as is;

  Parameters:
    `map` - initial map holding properties
  Returns:
    `SVNProperties` object; if `map` is null, returns an empty `SVNProperties` object created as `new SVNProperties()`
  See Also:
    `SVNProperties()`

### unmodifiableProperties

    public static SVNProperties unmodifiableProperties(SVNProperties properties)

  Returns an unmodifiable view of the specified `properties`. Any attempt to modify the returned `SVNProperties` object result in an `UnsupportedOperationException`.

  Parameters:
    `properties` - `SVNProperties` object for which an unmodifiable view is to be returned.
  Returns:
    an unmodifiable view of the specified properties.

### asMap

    public Map asMap()

  Returns SVNProperties as Map of String, SVNPropertyValue pairs.

  Returns:
    copy of SVNProperties as Map object

### put

    public void put(String propertyName,
                    SVNPropertyValue propertyValue)

  Stores a new mapping `propertyName` to `propertyValue` in this object.

  Parameters:
    `propertyName` - property name
    `propertyValue` - property value object

### put

    public void put(String propertyName,
                    String propertyValue)

  Stores a new property name-to-value mapping in this object.

  `propertyValue` is converted to an `SVNPropertyValue` object through a call to `SVNPropertyValue.create(String)`.

  Parameters:
    `propertyName` - property name
    `propertyValue` - property value string

### put

    public void put(String propertyName,
                    byte[] propertyValue)

  Stores a new property name-to-value mapping in this object.

  `propertyValue` is converted to an `SVNPropertyValue` object through a call to `SVNPropertyValue.create(String, byte[])`.

  Parameters:
    `propertyName` - property name
    `propertyValue` - property value bytes

### getStringValue

    public String getStringValue(String propertyName)

  Returns a `String` property value.

  Parameters:
    `propertyName` - property name
  Returns:
    property value string; null if there's no such property or if it's not a `String` property value

### getBinaryValue

    public byte[] getBinaryValue(String propertyName)

  Returns a binary property value.

  Parameters:
    `propertyName` - property name
  Returns:
    byte array containing property value bytes; null if there's no such property or if it's not a binary property value

### getSVNPropertyValue

    public SVNPropertyValue getSVNPropertyValue(String propertyName)

  Returns a property value as an `SVNPropertyValue`.

  Parameters:
    `propertyName` - property name
  Returns:
    property value object; null if there's no such property

### remove

    public SVNPropertyValue remove(String propertyName)

  Removes the specified property from this properties object.

  Parameters:
    `propertyName` - name of the property to remove from this object
  Returns:
    the value of the removed object

### putAll

    public void putAll(SVNProperties properties)

  Puts all properties from the specified properties object to this object.

  Parameters:
    `properties` - properties object

### isEmpty

    public boolean isEmpty()

  Tells if this properties object holds no properties (empty).

  Returns:
    true if this object holds no properties; otherwise false

### clear

    public void clear()

  Removes all properties from this object.

### removeNullValues

    public void removeNullValues()

  Removes all mappings which values are nulls from this object.

### size

    public int size()

  Returns the number of properties held by this object.

  Returns:
    number of properties

### containsName

    public boolean containsName(String propertyName)

  Tells whether this properties object contains the specified property name.

  Parameters:
    `propertyName` - property name
  Returns:
    true if this object contains a mapping with the specified key (`propertyName`)

### nameSet

    public Set nameSet()

  Returns a set of property names contained by this object.

  Returns:
    property names set

### containsValue

    public boolean containsValue(SVNPropertyValue value)

  Tells whether this properties object contains the specified property value.

  Parameters:
    `value` - property value
  Returns:
    true if this object contains `value`

### values

    public Collection values()

  Returns a collection of property values contained in this properties object.

  Returns:
    property values collection

### getRegularProperties

    public SVNProperties getRegularProperties()

  Returns a subset of properties contained in this properties object which suffice for `SVNProperty.isRegularProperty(String)` clause.

  Returns:
    regular properties; if there are no properties which would suffice the aforementioned clause, an empty `SVNProperties` object is returned

### compareTo

    public SVNProperties compareTo(SVNProperties properties)

  Compares this object against another one returning a difference between them.

  Properties which are present in this object but are not in `properties`, are put to the result as property name to null mappings. Properties which are present only in `properties` but not in this object, are added to the result. Also result will include those properties which are present in both objects but have different values; in this case result will include such properties with values from `properties`.

  Parameters:
    `properties` - another properties object
  Returns:
    properties object holding the properties difference

### hashCode

    public int hashCode()

  Returns a hash code of this object.

  A hash code is evaluated as follows: `31 +` `hash code` of the underlying `Map` holding the property key to property value mappings.

  Returns:
    hash code of this object

### equals

    public boolean equals(Object obj)

  Tells whether this object and `obj` are equal.

  Parameters:
    `obj` - object to compare with
  Returns:
    true if `obj` is either this very object, or is an instance of `SVNProperties` with the same contents of properties

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Creates and returns a copy of this object.

  Returns:
    a clone of this instance
  Throws:
    `CloneNotSupportedException`

SVNKit Home

Copyright © 2004-2009 TMate Software Ltd. All Rights Reserved.