com.atlassian.jira.propertyset
Class JiraCachingPropertySet

java.lang.Object
  extended by com.atlassian.jira.propertyset.JiraCachingPropertySet
All Implemented Interfaces:
com.opensymphony.module.propertyset.PropertySet, Serializable

public class JiraCachingPropertySet
extends Object
implements com.opensymphony.module.propertyset.PropertySet, Serializable

A PropertySet which decorates another PropertySet and caches the results. Must be correctly initialised via the init(Map, Map) before use.

Similar to com.opensymphony.module.propertyset.cached.CachingPropertySet class but does more caching.

This class is threadsafe. It uses a Lock to co-ordinate concurrent access. This means that improper publication is avoided as long as init(Map, Map) is called from the creating thread before use.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.opensymphony.module.propertyset.PropertySet
BOOLEAN, DATA, DATE, DOUBLE, INT, LONG, OBJECT, PROPERTIES, STRING, TEXT, XML
 
Constructor Summary
JiraCachingPropertySet()
           
 
Method Summary
 boolean exists(String key)
           
 Object getAsActualType(String key)
           
 boolean getBoolean(String key)
           
 byte[] getData(String key)
           
 Date getDate(String key)
           
 double getDouble(String key)
           
 int getInt(String key)
           
 Collection getKeys()
           
 Collection getKeys(int type)
           
 Collection getKeys(String prefix)
           
 Collection getKeys(String prefix, int type)
           
 long getLong(String key)
           
 Object getObject(String key)
           
 Properties getProperties(String key)
           
 com.opensymphony.module.propertyset.PropertySetSchema getSchema()
           
 String getString(String key)
           
 String getText(String key)
           
 int getType(String key)
           
 Document getXML(String key)
           
 void init(Map config, Map args)
          Initialises this JiraCachingPropertySet.
 boolean isSettable(String property)
           
 void remove(String key)
           
 void setAsActualType(String key, Object value)
           
 void setBoolean(String key, boolean value)
           
 void setData(String key, byte[] value)
           
 void setDate(String key, Date value)
           
 void setDouble(String key, double value)
           
 void setInt(String key, int value)
           
 void setLong(String key, long value)
           
 void setObject(String key, Object value)
           
 void setProperties(String key, Properties value)
           
 void setSchema(com.opensymphony.module.propertyset.PropertySetSchema schema)
           
 void setString(String key, String value)
           
 void setText(String key, String value)
           
 void setXML(String key, Document value)
           
 boolean supportsType(int type)
           
 boolean supportsTypes()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JiraCachingPropertySet

public JiraCachingPropertySet()
Method Detail

setAsActualType

public void setAsActualType(String key,
                            Object value)
                     throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setAsActualType in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getAsActualType

public Object getAsActualType(String key)
                       throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getAsActualType in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setBoolean

public void setBoolean(String key,
                       boolean value)
                throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setBoolean in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getBoolean

public boolean getBoolean(String key)
                   throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getBoolean in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setData

public void setData(String key,
                    byte[] value)
             throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setData in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getData

public byte[] getData(String key)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getData in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setDate

public void setDate(String key,
                    Date value)
             throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setDate in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getDate

public Date getDate(String key)
             throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getDate in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setDouble

public void setDouble(String key,
                      double value)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setDouble in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getDouble

public double getDouble(String key)
                 throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getDouble in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setInt

public void setInt(String key,
                   int value)
            throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setInt in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getInt

public int getInt(String key)
           throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getInt in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getKeys

public Collection getKeys()
                   throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getKeys in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getKeys

public Collection getKeys(int type)
                   throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getKeys in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getKeys

public Collection getKeys(String prefix)
                   throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getKeys in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getKeys

public Collection getKeys(String prefix,
                          int type)
                   throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getKeys in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setLong

public void setLong(String key,
                    long value)
             throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setLong in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getLong

public long getLong(String key)
             throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getLong in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setObject

public void setObject(String key,
                      Object value)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setObject in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getObject

public Object getObject(String key)
                 throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getObject in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setProperties

public void setProperties(String key,
                          Properties value)
                   throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setProperties in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getProperties

public Properties getProperties(String key)
                         throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getProperties in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setSchema

public void setSchema(com.opensymphony.module.propertyset.PropertySetSchema schema)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setSchema in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getSchema

public com.opensymphony.module.propertyset.PropertySetSchema getSchema()
                                                                throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getSchema in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

isSettable

public boolean isSettable(String property)
Specified by:
isSettable in interface com.opensymphony.module.propertyset.PropertySet

setString

public void setString(String key,
                      String value)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setString in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getString

public String getString(String key)
                 throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getString in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setText

public void setText(String key,
                    String value)
             throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setText in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getText

public String getText(String key)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getText in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getType

public int getType(String key)
            throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getType in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

setXML

public void setXML(String key,
                   Document value)
            throws com.opensymphony.module.propertyset.PropertyException
Specified by:
setXML in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

getXML

public Document getXML(String key)
                throws com.opensymphony.module.propertyset.PropertyException
Specified by:
getXML in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

exists

public boolean exists(String key)
               throws com.opensymphony.module.propertyset.PropertyException
Specified by:
exists in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

init

public void init(Map config,
                 Map args)
Initialises this JiraCachingPropertySet. PropertySetManager first constructs an instance of a PropertySet, and then calls init().

The args parameter must always contain an entry of type PropertySet under the key "PropertySet". If args contains a Boolean entry under the key of "bulkload" which is set to true, then all the values in the underlying PropertySet will be preloaded into the cache.

Specified by:
init in interface com.opensymphony.module.propertyset.PropertySet
Parameters:
config - Config from PropertySetConfig
args - Map of args passed to PropertySetManager.getInstance()
See Also:
PropertySet.init(java.util.Map,java.util.Map), PropertySetManager.getInstance(String,java.util.Map)

remove

public void remove(String key)
            throws com.opensymphony.module.propertyset.PropertyException
Specified by:
remove in interface com.opensymphony.module.propertyset.PropertySet
Throws:
com.opensymphony.module.propertyset.PropertyException

supportsType

public boolean supportsType(int type)
Specified by:
supportsType in interface com.opensymphony.module.propertyset.PropertySet

supportsTypes

public boolean supportsTypes()
Specified by:
supportsTypes in interface com.opensymphony.module.propertyset.PropertySet


Copyright © 2002-2009 Atlassian. All Rights Reserved.