Class SVNPropertyValue

  • All Implemented Interfaces:
    java.io.Serializable

    public class SVNPropertyValue
    extends java.lang.Object
    implements java.io.Serializable
    The SVNPropertyValue represents an object wrapper for string and binary version controlled properties providing a set of specific methods to work with them.

    Since version 1.2 the SVNKit library supports binary properties as well.

    Since:
    1.2
    Version:
    1.3
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private byte[] myData  
      private java.lang.String myValue  
      private static long serialVersionUID  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private SVNPropertyValue​(byte[] data, int offset, int length)  
      private SVNPropertyValue​(char[] propertyValue, java.lang.String encoding)  
      private SVNPropertyValue​(java.lang.String propertyValue)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean areEqual​(SVNPropertyValue propertyValue1, SVNPropertyValue propertyValue2)  
      void clear()  
      static SVNPropertyValue create​(char[] propertyValue, java.lang.String encoding)
      Creates a new property value object representing a text property value.
      static SVNPropertyValue create​(java.lang.String propertyValue)
      Creates a new property value object representing a text property value.
      static SVNPropertyValue create​(java.lang.String propertyName, byte[] data)
      Creates a new property value object from the given byte array.
      static SVNPropertyValue create​(java.lang.String propertyName, byte[] data, int offset, int length)
      Creates a new property value object from the given byte array.
      boolean equals​(java.lang.Object obj)
      Says whether this object and obj are equal or not.
      byte[] getBytes()
      Returns property value bytes.
      static byte[] getPropertyAsBytes​(SVNPropertyValue value)
      Returns byte[] representation of value.
      static char[] getPropertyAsChars​(SVNPropertyValue value)
      Returns String representation of value.
      static java.lang.String getPropertyAsString​(SVNPropertyValue value)
      Returns String representation of value.
      java.lang.String getString()
      Returns property value string.
      int hashCode()
      Returns the hash code for this object.
      boolean isBinary()
      Says whether the property value wrapped by this object is binary or not.
      boolean isString()
      Says whether the property value wrapped by this object is String or not.
      java.lang.String toString()
      Returns a string representation of this object.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • myValue

        private java.lang.String myValue
      • myData

        private byte[] myData
    • Constructor Detail

      • SVNPropertyValue

        private SVNPropertyValue​(byte[] data,
                                 int offset,
                                 int length)
      • SVNPropertyValue

        private SVNPropertyValue​(java.lang.String propertyValue)
      • SVNPropertyValue

        private SVNPropertyValue​(char[] propertyValue,
                                 java.lang.String encoding)
    • Method Detail

      • create

        public static SVNPropertyValue create​(java.lang.String propertyName,
                                              byte[] data,
                                              int offset,
                                              int length)
        Creates a new property value object from the given byte array.

        This method is intended to instantiate binary property values. However if propertyName is of svn domain, then it attempts to encode the passed bytes into a String value using the "UTF-8" charset. Finally, the property value object is created via a call to create(String). In this way the text nature of the property is automatically preserved to avoid binary/text properties mess.

        Parameters:
        propertyName - property name
        data - array containing property bytes
        offset - offset in data to copy bytes from
        length - amount of bytes to copy from data
        Returns:
        new property value object; null if data is null
      • create

        public static SVNPropertyValue create​(java.lang.String propertyName,
                                              byte[] data)
        Creates a new property value object from the given byte array.

        This method is equivalent to create(propertyName, data, 0, data.length).

        Parameters:
        propertyName - property name
        data - array containing property bytes
        Returns:
        new property value object; null if data is null
        See Also:
        create(String, byte[], int, int)
      • create

        public static SVNPropertyValue create​(java.lang.String propertyValue)
        Creates a new property value object representing a text property value.

        This method is intended to create text property values only.

        Parameters:
        propertyValue - text property value which is stored as is
        Returns:
        new property value object; null if propertyValue is null
      • create

        public static SVNPropertyValue create​(char[] propertyValue,
                                              java.lang.String encoding)
        Creates a new property value object representing a text property value.

        This method is intended to create text property values only.

        Parameters:
        propertyValue - text property value which is stored as is
        Returns:
        new property value object; null if propertyValue is null
      • getPropertyAsBytes

        public static byte[] getPropertyAsBytes​(SVNPropertyValue value)
        Returns byte[] representation of value.

        If value is a string property value, then bytes of the string are encoded using the "UTF-8" charset and returned by this method. If encoding fails, then bytes are encoded using the default platform's charset.

        Otherwise, getBytes() is returned.

        Parameters:
        value - property value object
        Returns:
        bytes of the property value represented by value; null if value is null
      • getPropertyAsString

        public static java.lang.String getPropertyAsString​(SVNPropertyValue value)
        Returns String representation of value.

        If value is a binary property value, then its bytes are converted to a String encoding them with the "UTF-8" charset and returned back to the caller. If that encoding fails, bytes are encoded with the default platform's charset.

        Otherwise, getString() is returned.

        Parameters:
        value - property value object
        Returns:
        string property value; null if value is null
      • getPropertyAsChars

        public static char[] getPropertyAsChars​(SVNPropertyValue value)
        Returns String representation of value.

        If value is a binary property value, then its bytes are converted to a String encoding them with the "UTF-8" charset and returned back to the caller. If that encoding fails, bytes are encoded with the default platform's charset.

        Otherwise, getString() is returned.

        Parameters:
        value - property value object
        Returns:
        string property value; null if value is null
      • isBinary

        public boolean isBinary()
        Says whether the property value wrapped by this object is binary or not.
        Returns:
        true if binary, otherwise false
      • getBytes

        public byte[] getBytes()
        Returns property value bytes.

        Note: this will be always null for String property values.

        Returns:
        byte array with property value bytes
      • isString

        public boolean isString()
        Says whether the property value wrapped by this object is String or not.
        Returns:
        true if textual, otherwise false
      • getString

        public java.lang.String getString()
        Returns property value string.

        Note: this will be always null for binary property values.

        Returns:
        property value string
      • toString

        public java.lang.String toString()
        Returns a string representation of this object.

        Note: irrelevant for binary properties.

        Overrides:
        toString in class java.lang.Object
        Returns:
        string representation of this object
      • equals

        public boolean equals​(java.lang.Object obj)
        Says whether this object and obj are equal or not.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - object to compare with
        Returns:
        true in the following cases:
        • obj is the same as this one (by reference)
        • if obj is an SVNPropertyValue and either has got the same String value in case this object holds a String value, or the same byte array contents if this object represents a binary property value
      • hashCode

        public int hashCode()
        Returns the hash code for this object. If this object represents a string property, then returns the hash code of the String object. Otherwise, this object represents a binary property and the hash code of the byte[] array is returned.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        hash code
      • clear

        public void clear()