org.apache.jackrabbit.spi.commons.value
Class AbstractQValue

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.value.AbstractQValue
All Implemented Interfaces:
Serializable, QValue
Direct Known Subclasses:
DefaultQValue, InternalValue

public abstract class AbstractQValue
extends Object
implements QValue, Serializable

AbstractQValue...

See Also:
Serialized Form

Field Summary
protected  int type
           
protected  Object val
           
 
Fields inherited from interface org.apache.jackrabbit.spi.QValue
EMPTY_ARRAY
 
Constructor Summary
protected AbstractQValue(BigDecimal value)
          Create a new AbstractQValue.
protected AbstractQValue(Boolean value)
          Create a new AbstractQValue.
protected AbstractQValue(Calendar value)
          Create a new AbstractQValue.
protected AbstractQValue(Double value)
          Create a new AbstractQValue.
protected AbstractQValue(Long value)
          Create a new AbstractQValue.
protected AbstractQValue(Name value)
          Create a new AbstractQValue.
protected AbstractQValue(Object value, int type)
          Create a new AbstractQValue.
protected AbstractQValue(Path value)
          Create a new AbstractQValue.
protected AbstractQValue(String value, int type)
          Create a new AbstractQValue.
protected AbstractQValue(URI value)
          Create a new AbstractQValue.
 
Method Summary
 void discard()
          Frees temporarily allocated resources such as temporary file, buffer, etc.
 boolean equals(Object obj)
          Default implementation of the equals method.
 Binary getBinary()
          This implementation creates a binary instance that uses QValue.getStream() and skipping on the given stream as its underlying mechanism to provide random access defined on Binary.
 boolean getBoolean()
          Returns a boolean representation of this value.
 Calendar getCalendar()
          Returns a Calendar representation of this value.
 BigDecimal getDecimal()
          Returns a BigDecimal representation of this value.
 double getDouble()
          Returns a double representation of this value.
 long getLength()
          Returns the length of the internal value or -1 if the implementation cannot determine the length at this time.
 long getLong()
          Returns a long representation of this value.
 Name getName()
          Returns a Name representation of this value.
 Path getPath()
          Returns a Path representation of this value.
 String getString()
          Returns a String representation of this QValue object.
 int getType()
          Returns the PropertyType of this QValue object.
 URI getURI()
          Returns an URI representation of this value.
 int hashCode()
          Default calculation of the hashCode.
 String toString()
          Returns the string representation of this internal value.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.jackrabbit.spi.QValue
getStream
 

Field Detail

val

protected Object val

type

protected final int type
Constructor Detail

AbstractQValue

protected AbstractQValue(Object value,
                         int type)
Create a new AbstractQValue.

Parameters:
value - The value.
type - The property type.
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(String value,
                         int type)
Create a new AbstractQValue.

Parameters:
value -
type -
Throws:
IllegalArgumentException - if the passed value is null or if the type is neither STRING nor REFERENCE/WEAKREFERENCE.

AbstractQValue

protected AbstractQValue(Long value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(Double value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(Boolean value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(Calendar value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(Name value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(Path value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(BigDecimal value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.

AbstractQValue

protected AbstractQValue(URI value)
Create a new AbstractQValue.

Parameters:
value -
Throws:
IllegalArgumentException - if the passed value is null.
Method Detail

getType

public int getType()
Description copied from interface: QValue
Returns the PropertyType of this QValue object. It may be either of the value property types defined by the JSR 283:

Specified by:
getType in interface QValue
Returns:
the PropertyType of this QValue object.
See Also:
QValue.getType()

getLength

public long getLength()
               throws RepositoryException
Description copied from interface: QValue
Returns the length of the internal value or -1 if the implementation cannot determine the length at this time.
NOTE: for PropertyType.NAME and PropertyType.PATH the length of the internal value must not be used for indicating the length of a property such as retrieved by calling Property.getLength() and Property.getLengths().

Specified by:
getLength in interface QValue
Returns:
length of this QValue object.
Throws:
RepositoryException
See Also:
QValue.getLength()

getName

public Name getName()
             throws RepositoryException
Description copied from interface: QValue
Returns a Name representation of this value.

Specified by:
getName in interface QValue
Returns:
A Name representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getName()

getCalendar

public Calendar getCalendar()
                     throws RepositoryException
Description copied from interface: QValue
Returns a Calendar representation of this value.

Specified by:
getCalendar in interface QValue
Returns:
A Calendar representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getCalendar()

getDecimal

public BigDecimal getDecimal()
                      throws RepositoryException
Description copied from interface: QValue
Returns a BigDecimal representation of this value.

Specified by:
getDecimal in interface QValue
Returns:
A BigDecimal representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getDecimal()

getURI

public URI getURI()
           throws RepositoryException
Description copied from interface: QValue
Returns an URI representation of this value.

Specified by:
getURI in interface QValue
Returns:
A URI representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getURI()

getDouble

public double getDouble()
                 throws RepositoryException
Description copied from interface: QValue
Returns a double representation of this value.

Specified by:
getDouble in interface QValue
Returns:
A double representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getDouble()

getLong

public long getLong()
             throws RepositoryException
Description copied from interface: QValue
Returns a long representation of this value.

Specified by:
getLong in interface QValue
Returns:
A long representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getLong()

getBoolean

public boolean getBoolean()
                   throws RepositoryException
Description copied from interface: QValue
Returns a boolean representation of this value.

Specified by:
getBoolean in interface QValue
Returns:
A boolean representation of this value.
Throws:
RepositoryException
See Also:
QValue.getBoolean()

getPath

public Path getPath()
             throws RepositoryException
Description copied from interface: QValue
Returns a Path representation of this value.

Specified by:
getPath in interface QValue
Returns:
A Path representation of this value.
Throws:
RepositoryException - if an error occurs.
See Also:
QValue.getPath()

getString

public String getString()
                 throws RepositoryException
Description copied from interface: QValue
Returns a String representation of this QValue object.

Specified by:
getString in interface QValue
Returns:
A String representation of this QValue object.
Throws:
RepositoryException
See Also:
QValue.getPath()

getBinary

public Binary getBinary()
                 throws RepositoryException
This implementation creates a binary instance that uses QValue.getStream() and skipping on the given stream as its underlying mechanism to provide random access defined on Binary.

Specified by:
getBinary in interface QValue
Returns:
A Binary representation of this value.
Throws:
RepositoryException
See Also:
QValue.getBinary()

discard

public void discard()
Description copied from interface: QValue
Frees temporarily allocated resources such as temporary file, buffer, etc.

Specified by:
discard in interface QValue
See Also:
QValue.discard()

toString

public String toString()
Returns the string representation of this internal value.

Overrides:
toString in class Object
Returns:
string representation of this internal value

equals

public boolean equals(Object obj)
Default implementation of the equals method. Subclasses may optimize this e.g. by special handling for DATE properties.

Overrides:
equals in class Object
Parameters:
obj -
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Default calculation of the hashCode. Subclasses may optimize this e.g. by special handling for DATE properties.

Overrides:
hashCode in class Object
Returns:
the hashCode of the internal value object.
See Also:
Object.hashCode()


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.