public final class DynamicPropertySetImpl extends java.lang.Object implements DynamicPropertySet
DynamicPropertySet
interface. This class
uses a HashMap
to manage the property-value pairs. The class
is also final
.Constructor and Description |
---|
DynamicPropertySetImpl()
Default Constructor;
|
DynamicPropertySetImpl(DynamicPropertySetImpl propertySet)
Copy constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears property-value pairs map.
|
java.lang.Object |
copyTo(java.lang.Object target)
Copies the internal state of
this object to the
specified copy . |
protected void |
copyToImpl(DynamicPropertySetImpl copy)
Design pattern for supporting strongly typed copying.
|
boolean |
equals(java.lang.Object o) |
protected boolean |
equalsImpl(DynamicPropertySetImpl other)
This is a helper method for
equals(Object) that can
also be used by subclasses that implement equals(Object) . |
java.util.Map |
getProperties()
Retrieves a map holding the property-value pairs.
|
java.lang.Object |
getProperty(java.lang.String key)
Retrieves the value associated with a property.
|
java.lang.Object |
getProperty(java.lang.String key,
java.lang.Object defaultValue)
Retrieves the value associated with a property.
|
void |
setProperties(java.util.Map properties)
Sets the map holding the property-value pairs.
|
void |
setProperty(java.lang.String key,
java.lang.Object value)
Sets the value for a property.
|
public DynamicPropertySetImpl()
public DynamicPropertySetImpl(DynamicPropertySetImpl propertySet)
public java.lang.Object getProperty(java.lang.String key, java.lang.Object defaultValue)
DynamicPropertySet
getProperty
in interface DynamicPropertySet
key
- the property key for which a value is desired.defaultValue
- the value to return if no value currently
exists.public java.lang.Object getProperty(java.lang.String key)
DynamicPropertySet
getProperty
in interface DynamicPropertySet
key
- the property key for which a value is desired.
exists.null
value
if the property does not exist or is not set.public void setProperty(java.lang.String key, java.lang.Object value)
DynamicPropertySet
null
removes that property.setProperty
in interface DynamicPropertySet
key
- the property key to setvalue
- the value to setpublic java.util.Map getProperties()
DynamicPropertySet
getProperties
in interface DynamicPropertySet
public void setProperties(java.util.Map properties)
DynamicPropertySet
setProperties
in interface DynamicPropertySet
public void clear()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
protected final boolean equalsImpl(DynamicPropertySetImpl other)
equals(Object)
that can
also be used by subclasses that implement equals(Object)
.
It assumes that the argument is not null
.public java.lang.Object copyTo(java.lang.Object target)
Copyable
this
object to the
specified copy
. If copy
is
null
, then this method should create a new instance
of this
class and proceed to copy the internal state
to the newly created object. Generally, only the persistent
state of the object should be copied, but whether or not it is
appropriate to copy transient properties is at the discretion
of the individual implementor.
Regardless of whether the copy occurs to an existing object or to
a newly created object, the return value is object to which
this
object's state was copied.
There is a standard implementation pattern for the
copyTo
method that helps avoid problems that arise
when a Copyable
object is subclassed. The pattern
is:
The parameter passed into thepublic Object copyTo( Object target ) { final <this_class> copy = target != null ? (<this_class>) target : new <this_class>(); copyToImpl( copy ); return copy; } protected final void copyToImpl( <this_class> copy ) { super.copyToImpl( copy ); // if necessary // put code here for copying the properties of <this_class> }
copyToImpl
method is
the same type of this
class. The responsibility of
copyToImpl
is to copy the state of this
class through direct access of the fields. The
copyToImpl
method should not use getters and setters
since these may be overridden, causing the state of
this
class to be incompletely copied.copyTo
in interface Copyable
target
- The target object to which the state of
this
object should be copied. If target
is null
, then the copyTo
method will
return a new instance of this
class.this
object was copied. If the target
was
non-null
, then the return value is the same as the
target
object that was passed in; otherwise, the
return value is a new instance of this
class.protected final void copyToImpl(DynamicPropertySetImpl copy)