|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--net.sourceforge.esw.properties.DefaultPropertyAggregator
Provides aggregation acrosss multiple IPropertySource instances
based on a ranking of those IPropertySource instances.
This DefaultPropertyAggregator class is the reference
implementation of the IPropertyAggregator interface.
To provide the same abilities of a IPropertySource instance,
this IPropertyAggregator instance extends the
IPropertySource interface. The IPropertyAggregator
instance decorates a collection of IPropertySource instances,
delegating method calls the first IPropertySource instance
with the highest ranking that returns a valid value.
Properties are any persistent data source that parameterizes behavior of a running application. That data source could be XML, a relational database, or even a URL.
To load properties from their data source, call the load method.
Properties can be read-only or writable. The setWriteable and
isWriteable methods determine whether an
IPropertySource instance is writeable.
If the properties represented by this IPropertySource instance
are writable, then the save method saves the properties
to the represented property source.
To allow easy access to Properties, this IPropertySource
interface extends the INode interface.
This interface is the root of the Properties framework. It provides the container for the storage and manipulation of properties.
PropertyManager, Serialized Form| Inner Class Summary | |
protected class |
DefaultPropertyAggregator.SourcesIterator
|
| Field Summary | |
protected boolean |
bWriteable
If true, this IPropertyAggregator instance is
writeable. |
protected boolean |
bWriteableCached
If true, this DefaultPropertyAggregator instance
has determined if any of the aggregate IPropertySource
instances contained by this IPropertyAggregator implementor
is writeable. |
protected int |
largestRank
The largest rank of the contained IPropertySource instances. |
protected java.util.HashMap |
sources
The HashMap of IPropertySource instances that are
contained by this IPropertyAggregator instance. |
| Constructor Summary | |
protected |
DefaultPropertyAggregator()
Creates a new DefaultPropertyAggregator instance. |
| Method Summary | |
void |
acceptVisitor(IGraphVisitor aVisitor)
Requests that this INode instance accept the specified
IGraphVisitor instance and that visiting of this
INode struture begin. |
void |
add(INode aNode)
Appends the specified INode child instance to the end of this
INode instances child collection. |
void |
add(INode aNode,
boolean bAddParent)
Appends the specified INode child instance to the end of this
INode instance's child collection. |
void |
addParent(INode aParent)
Sets the parent INode instance for this INode
instance. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener aListener)
Adds a PropertyChangeListener to this
ISupportObject instance. |
void |
addPropertyChangeListener(java.lang.String aPropertyName,
java.beans.PropertyChangeListener aListener)
Adds a PropertyChangeListener to this
ISupportObject instance for the specified property. |
void |
addPropertySource(int aRank,
IPropertySource aPropertySource)
Adds the specified IPropertySource instance to this
IPropertyAggregator instance at the specified ranking,
replacing the IPropertySource instance that was in that rank,
if any. |
void |
addPropertySource(IPropertySource aPropertySource)
Adds the specified IPropertySource instance to this
IPropertyAggregator instance at the lowest ranking (at the
end of the aggregate list). |
void |
addVetoableChangeListener(java.lang.String aPropertyName,
java.beans.VetoableChangeListener aListener)
Adds a VetoableChangeListener to this
ISupportObject instance for the specified property. |
void |
addVetoableChangeListener(java.beans.VetoableChangeListener aListener)
Adds a VetoableChangeListener to this
ISupportObject instance. |
void |
clear()
Removes the children from this INode instance. |
java.lang.Object |
clone()
Creates and returns a clone of the implementing Object. |
boolean |
containsID(java.lang.Object aId)
Indicates whether this INode instance contains the
specified identifer as a child of this INode instance. |
protected void |
findOutIfWriteable()
Checks to see if any of the IPropertySource instances are
writeable. |
void |
firePropertyChange(java.beans.PropertyChangeEvent aEvent)
Fires a PropertyChangeEvent from this
ISupportObject instance. |
void |
firePropertyChange(java.lang.String aPropertyName,
java.lang.Object aOldValue,
java.lang.Object aNewValue)
Fires a PropertyChangeEvent from this
ISupportObject instance. |
void |
fireVetoableChange(java.beans.PropertyChangeEvent aEvent)
Fires a vetoable PropertyChangeEvent from this
ISupportObject instance. |
void |
fireVetoableChange(java.lang.String aPropertyName,
java.lang.Object aOldValue,
java.lang.Object aNewValue)
Fires a vetoable PropertyChangeEvent from this
ISupportObject instance. |
INode |
get(int aIndex)
Returns the INode child instance at the specified index. |
INode |
get(java.lang.Object aId)
Returns the first INode child instance that contains specified
identifer. |
java.lang.Object |
getID()
Returns the identifier for this ISupportObject
instance. |
java.util.List |
getList(java.lang.Object aId)
Returns the List of INode child instances with the specified
identifer. |
protected java.lang.Object |
getMethod(java.lang.reflect.Method aMethod,
java.lang.Object[] args)
Iterates through the IPropertySource instances and finds the
first IPropertySource instance that returns a non-null result. |
INode |
getParent(int aIndex)
Returns the INode parent instance at the specified index. |
java.util.Iterator |
getParents()
Returns an Iterator over the INode parent
instances of this INode instance. |
java.lang.Object |
getProperty(java.lang.Object aKey)
Returns the value of the property specified by the given Object for this ISupportObject instance. |
int |
getPropertySize()
Returns the number of properties associated with this ISupportObject instance. |
IPropertySource |
getPropertySource(int aRank)
Returns the specified IPropertySource instance from this
IPropertyAgregator instance at the specified ranking. |
IPropertySource |
getPropertySource(java.lang.Object aID)
Returns the specified IPropertySource instance from this
IPropertyAgregator instance with the specified identifier. |
java.util.Iterator |
getPropertySources()
Returns the IPropertySource instances from this
IPropertyAgregator instance. |
java.lang.Object |
getValue()
Returns the value of this INode instance
|
boolean |
isEmpty()
Indicates whether this INode instance has no children. |
boolean |
isWriteable()
Returns whether this IPropertySource instance is a writeable
IPropertySource instance. |
java.util.Iterator |
iterator()
Returns an Iterator over this INode instance's
children. |
void |
load()
Loads properties from the properties source represented by this IPropertySource instance. |
java.util.Iterator |
propertyKeys()
Returns an Iterator instance over the property keys in this
ISupportObject instance. |
void |
remove(INode aNode)
Removes the INode child instance for the specified identifer
from this INode instance if present. |
void |
removeParent(INode aParent)
Removes the specified parent INode instance from this
INode instance. |
java.lang.Object |
removeProperty(java.lang.Object aKey)
Removes the property specified by the gien Object key for this
ISupportObject instance, and returns the value mapped to the
specified Object key. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener aListener)
Removes the specified PropertyChangeListener from this
ISupportObject instance. |
void |
removePropertyChangeListener(java.lang.String aPropertyName,
java.beans.PropertyChangeListener aListener)
Removes the specified PropertyChangeListener from this
ISupportObject instance for the specified property. |
void |
removePropertySource(IPropertySource aPropertySource)
Removes the specified IPropertySource instance from this
IPropertyAgregator instance. |
void |
removeVetoableChangeListener(java.lang.String aPropertyName,
java.beans.VetoableChangeListener aListener)
Removes the specified VetoableChangeListener from this
ISupportObject instance for the specified property. |
void |
removeVetoableChangeListener(java.beans.VetoableChangeListener aListener)
Removes the specified VetoableChangeListener from this
ISupportObject instance. |
void |
save()
Saves all modified properties to the properties source represented by this IPropertySource instance. |
void |
setID(java.lang.Object aId)
Sets this ISupportObject instance's identifier. |
void |
setProperty(java.lang.Object aKey,
java.lang.Object aValue)
Sets the specified key/value property on this ISupportObject
instance. |
void |
setValue(java.lang.Object aValue)
Sets the value for this INode instance. |
void |
setWriteable(boolean aWriteable)
Sets whether this IPropertySource instance is a writeable
IPropertySource instance. |
int |
size()
Returns the number of children in this INode instance. |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected boolean bWriteable
true, this IPropertyAggregator instance is
writeable. If false, this IPropertyAggregator
instance is read-only.protected boolean bWriteableCached
true, this DefaultPropertyAggregator instance
has determined if any of the aggregate IPropertySource
instances contained by this IPropertyAggregator implementor
is writeable. If false, none of the contained
IPropertySource instances are writeable.protected int largestRank
IPropertySource instances.protected java.util.HashMap sources
HashMap of IPropertySource instances that are
contained by this IPropertyAggregator instance.| Constructor Detail |
protected DefaultPropertyAggregator()
DefaultPropertyAggregator instance.| Method Detail |
public boolean isWriteable()
IPropertySource instance is a writeable
IPropertySource instance.
This implementation checks to see if any of the contained
IPropertySource instances are writeable and returns
true, otherwise, returns false.
isWriteable in interface IPropertySourcetrue if this IPropertySource instance is
writeable, false if not.public void setWriteable(boolean aWriteable)
IPropertySource instance is a writeable
IPropertySource instance.setWriteable in interface IPropertySourceaWriteable - if true, then this
IPropertySource instance is writeable,
false otherwise.
public void save()
throws java.lang.UnsupportedOperationException,
java.lang.Exception
IPropertySource instance.save in interface IPropertySourcejava.lang.UnsupportedOperationException - if the operation is unsupported.java.lang.Exception - if an error occurs during the save process.
public void load()
throws java.lang.Exception
IPropertySource instance.load in interface IPropertySourcejava.lang.Exception - if any error occurs during the load process.
public void addPropertySource(int aRank,
IPropertySource aPropertySource)
IPropertySource instance to this
IPropertyAggregator instance at the specified ranking,
replacing the IPropertySource instance that was in that rank,
if any.addPropertySource in interface IPropertyAggregatoraRank - the rank the specifed IPropertySource instance
should be added.aPropertySource - the IPropertySource instance to be
added.public void addPropertySource(IPropertySource aPropertySource)
IPropertySource instance to this
IPropertyAggregator instance at the lowest ranking (at the
end of the aggregate list).addPropertySource in interface IPropertyAggregatoraPropertySource - the IPropertySource instance to be
added.public IPropertySource getPropertySource(java.lang.Object aID)
IPropertySource instance from this
IPropertyAgregator instance with the specified identifier.getPropertySource in interface IPropertyAggregatoraID - the identifier of the IPropertySource instance to
return.IPropertySource instance with the specified
identifier.public IPropertySource getPropertySource(int aRank)
IPropertySource instance from this
IPropertyAgregator instance at the specified ranking.getPropertySource in interface IPropertyAggregatoraRank - the rank for which to return an IPropertySource
instanceIPropertySource instance with the specified
identifier.public java.util.Iterator getPropertySources()
IPropertySource instances from this
IPropertyAgregator instance.getPropertySources in interface IPropertyAggregatorIterator over the IPropertySource
instanced contained by this IPropertyAgregator
instance.public void removePropertySource(IPropertySource aPropertySource)
IPropertySource instance from this
IPropertyAgregator instance.removePropertySource in interface IPropertyAggregatoraPropertySource - the IPropertySource instance to remove.public java.lang.Object getValue()
INode instance
This implementation throws an UnsupportedOperationException.
getValue in interface INodeINode instance.setValue(Object)public void setValue(java.lang.Object aValue)
INode instance.
Fires an INodeResources.VALUE_PROPERTY property change event.
This implementation throws an UnsupportedOperationException.
setValue in interface INodeaValue - the value for this INode instance.getValue()public int size()
INode instance. If the
INode contains more than Integer.MAX_VALUE
elements, returns Integer.MAX_VALUE.
This implementation throws an UnsupportedOperationException.
size in interface INodeINode instance.isEmpty()public boolean isEmpty()
INode instance has no children.
This implementation throws an UnsupportedOperationException.
isEmpty in interface INodetrue if this INode instance contains no
children.size()public void clear()
INode instance.
Fires an INodeResources.CLEAR_PROPERTY property change event
only if there were children that were cleared from this INode
instance.
This implementation throws an UnsupportedOperationException.
clear in interface INodepublic boolean containsID(java.lang.Object aId)
INode instance contains the
specified identifer as a child of this INode instance.
This implementation will return true if any of the contained
IPropertySource instances contains the specified identifier.
containsID in interface INodeaId - the identifer of the child INode instance for which
to search.true if this INode instance contains the
specified child.public java.util.List getList(java.lang.Object aId)
INode child instances with the specified
identifer. The list is in insertion order: the first INode
child instance added to this INode instance is the first
INode child instance in the returned List
instance. Returns null if this INode instance
does not contain any INode child instances with the specified
identifier.
The returned List instance is immutable. That is, you cannot
alter the position or size of the returned List instance.
This implementation will return the highest ranked, non-null result from
the contained IPropertySource instances.
getList in interface INodeaId - identifer whose associated INode child instances
are returned.List of INode child instances with
the specified identifer, or null if this
INode contains no children with the specified
identifier.get(Object),
get(int),
remove(INode),
add(INode)public INode get(java.lang.Object aId)
INode child instance that contains specified
identifer. Returns null if this INode instance
does not contain children with specified identifer.
This implementation will return the highest ranked, non-null result from
the contained IPropertySource instances.
get in interface INodeaId - identifer whose associated INode child instances
are returned.INode child instances with the specified
identifer, or null if this INode
instance contains no children for this identifer.get(int),
remove(INode),
add(INode)public INode get(int aIndex)
INode child instance at the specified index.
Indexes are 0 based.
This implementation will return the highest ranked, non-null result from
the contained IPropertySource instances.
get in interface INodeaIndex - the index of the INode child instance to return.INode child instance at the specified index.ArrayIndexOutOfBoundsException - if there is no value at the
specified index. Said differently,
this INode instance's
size is less than the specified
index.get(Object),
remove(INode),
add(INode)public void remove(INode aNode)
INode child instance for the specified identifer
from this INode instance if present.
Fires an INodeResources.REMOVE_PROPERTY property change event.
This implementation throws an UnsupportedOperationException.
remove in interface INodeaNode - INode child instance to be removed from this
INode instance.get(Object),
get(int),
add(INode)public void add(INode aNode)
INode child instance to the end of this
INode instances child collection. This method automatically
adds this INode instance as a parent of the specified child
INode instance.
This implementation iterates through the contained
IPropertySource instances and adds the specified
INode instance to the first writable
IPropertySource instance.
Fires an INodeResources.ADD_PROPERTY property change event.
This implementation throws an UnsupportedOperationException.
add in interface INodeaNode - INode child instance to be appended to this
INode instance.add(INode, boolean),
get(Object),
get(int),
remove(INode)
public void add(INode aNode,
boolean bAddParent)
INode child instance to the end of this
INode instance's child collection. Per the value of the
boolean parameter, will add this INode instance as
a parent of the specified child INode instance.
This implementation iterates through the contained
IPropertySource instances and adds the specified
INode instance to the first writable
IPropertySource instance.
Fires an INodeResources.ADD_PROPERTY property change event.
This implementation throws an UnsupportedOperationException.
add in interface INodeaNode - INode child instance to be appended to this
INode instance.bAddParent - if true, will add this INode
instance as the parent of the specified child
INode instance, if false, does
not add parent link to the child.add(INode),
get(Object),
get(int),
remove(INode)public void addParent(INode aParent)
INode instance for this INode
instance.
This method is semantically dangerous to client developers. It could
put the graph structure that this INode instance belongs to
into an inconsistant state. Use this method with caution.
Fires an INodeResources.PARENT_PROPERTY property change event.
This implementation throws an UnsupportedOperationException.
addParent in interface INodeaParent - the INode parent instance to be set.removeParent(INode),
getParents()public INode getParent(int aIndex)
This implementation throws an UnsupportedOperationException.
aIndex - the index of the INode parent instance to return.ArrayIndexOutOfBoundsException - if no parent is at the specified
index.removeParent(INode),
getParents(),
addParent(INode)public java.util.Iterator getParents()
Iterator over the INode parent
instances of this INode instance.
This implementation throws an UnsupportedOperationException.
getParents in interface INodeINode instances for this INode
instance.removeParent(INode),
addParent(INode)public void removeParent(INode aParent)
INode instance from this
INode instance.
This implementation throws an UnsupportedOperationException.
removeParent in interface INodeaParent - the Parent to remove from this INode instance.addParent(INode),
getParents()public java.util.Iterator iterator()
Iterator over this INode instance's
children. This is a shallow operation, iterating through this
INode instance's children and no further child generations.
If you wish deep iterators, see the
net.sourceforge.esw.graph.decorators package.
This implementation throws an UnsupportedOperationException.
iterator in interface INodeINode child instances of this
INode instance.public void acceptVisitor(IGraphVisitor aVisitor)
INode instance accept the specified
IGraphVisitor instance and that visiting of this
INode struture begin. This is a shallow operation, visiting
this INode instance's children and no further child
generations. If you wish deep visits, see the
net.sourceforge.esw.graph.decorators package.
This implementation throws an UnsupportedOperationException.
acceptVisitor in interface INodeaVisitor - the IGraphVisitor instance to visit the
children of this INode instance.public void addPropertyChangeListener(java.beans.PropertyChangeListener aListener)
PropertyChangeListener to this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
addPropertyChangeListener in interface ISupportObjectaListener - the PropertyChangeListener to be added.removePropertyChangeListener( PropertyChangeListener )
public void addPropertyChangeListener(java.lang.String aPropertyName,
java.beans.PropertyChangeListener aListener)
PropertyChangeListener to this
ISupportObject instance for the specified property.
This implementation throws an UnsupportedOperationException.
addPropertyChangeListener in interface ISupportObjectaPropertyName - the property to which to add the Listener.aListener - the PropertyChangeListener to be added.removePropertyChangeListener( String, PropertyChangeListener )public void addVetoableChangeListener(java.beans.VetoableChangeListener aListener)
VetoableChangeListener to this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
addVetoableChangeListener in interface ISupportObjectaListener - the VetoableChangeListener to be added.removePropertyChangeListener( PropertyChangeListener )
public void addVetoableChangeListener(java.lang.String aPropertyName,
java.beans.VetoableChangeListener aListener)
VetoableChangeListener to this
ISupportObject instance for the specified property.
This implementation throws an UnsupportedOperationException.
addVetoableChangeListener in interface ISupportObjectaPropertyName - the property to which to add the Listener.aListener - the VetoableChangeListener to be added.removePropertyChangeListener( String, PropertyChangeListener )public void removePropertyChangeListener(java.beans.PropertyChangeListener aListener)
PropertyChangeListener from this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
removePropertyChangeListener in interface ISupportObjectaListener - the PropertyChangeListener to be removed.addPropertyChangeListener( PropertyChangeListener )
public void removePropertyChangeListener(java.lang.String aPropertyName,
java.beans.PropertyChangeListener aListener)
PropertyChangeListener from this
ISupportObject instance for the specified property.
This implementation throws an UnsupportedOperationException.
removePropertyChangeListener in interface ISupportObjectaPropertyName - the property to which to remove the Listener.aListener - the PropertyChangeListener to be removed.addPropertyChangeListener( String, PropertyChangeListener )public void removeVetoableChangeListener(java.beans.VetoableChangeListener aListener)
VetoableChangeListener from this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
removeVetoableChangeListener in interface ISupportObjectaListener - the VetoableChangeListener to be removed.addVetoableChangeListener( VetoableChangeListener )
public void removeVetoableChangeListener(java.lang.String aPropertyName,
java.beans.VetoableChangeListener aListener)
VetoableChangeListener from this
ISupportObject instance for the specified property.
This implementation throws an UnsupportedOperationException.
removeVetoableChangeListener in interface ISupportObjectaPropertyName - the property to which to remove the Listener.aListener - the VetoableChangeListener to be removed.addVetoableChangeListener( String, VetoableChangeListener )
public void setProperty(java.lang.Object aKey,
java.lang.Object aValue)
ISupportObject
instance.
This implementation throws an UnsupportedOperationException.
setProperty in interface ISupportObjectaKey - The key of the property being added.aValue - The value of the property being added.
Examples:
String key = "name"; String value = "Smith"; dataObject.setProperty( key, value );
getProperty( Object ),
removeProperty( Object ),
propertyKeys(),
getPropertySize()public java.lang.Object getProperty(java.lang.Object aKey)
Object for this ISupportObject instance.
This implementation throws an UnsupportedOperationException.
getProperty in interface ISupportObjectaKey - the key identifying the value to return.Object key.
Examples:
String value = dataObject.getProperty( "name" );
setProperty( Object, Object ),
removeProperty( Object ),
propertyKeys(),
getPropertySize()public java.lang.Object removeProperty(java.lang.Object aKey)
Object key for this
ISupportObject instance, and returns the value mapped to the
specified Object key.
This implementation throws an UnsupportedOperationException.
removeProperty in interface ISupportObjectaKey - The key of the key/value pair to removeString value = dataObject.removeProperty( "name" );
setProperty( Object, Object ),
getProperty( Object ),
propertyKeys(),
getPropertySize()public java.util.Iterator propertyKeys()
Iterator instance over the property keys in this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
propertyKeys in interface ISupportObjectIterator of the keys in this
ISupportObject instance.
Examples:
Iterator iterator = dataObject.propertyKeys();
while ( iterator.hasNext() ) {
Object aKey = iterator.next();
// do something with the key...
}
setProperty( Object, Object ),
getProperty( Object ),
removeProperty( Object ),
getPropertySize()public int getPropertySize()
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
getPropertySize in interface ISupportObjectISupportObject
instance.
Examples:
int numberOfProperties = dataObject.propertySize();
setProperty( Object, Object ),
getProperty( Object ),
removeProperty( Object ),
propertyKeys()public void setID(java.lang.Object aId)
ISupportObject instance's identifier. If an
identifier is not specified, a numeric identifier will be provided. The
ESW framework provides numeric identifiers which are unique within this
instance of the Java Virtual Machine
Fires a IUtilResources.ID_PROPERTY property change event.
This implementation throws an UnsupportedOperationException.
setID in interface ISupportObjectaId - the unique Id for this ISupportObject instance.getID()public java.lang.Object getID()
ISupportObject
instance.
This implementation throws an UnsupportedOperationException.
getID in interface ISupportObjectISupportObject instance.setID( Object )
public void firePropertyChange(java.lang.String aPropertyName,
java.lang.Object aOldValue,
java.lang.Object aNewValue)
PropertyChangeEvent from this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
firePropertyChange in interface ISupportObjectaPropertyName - the property for which to fire the event.aOldValue - the old value for the event.aNewValue - the new value for the event.public void firePropertyChange(java.beans.PropertyChangeEvent aEvent)
PropertyChangeEvent from this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
firePropertyChange in interface ISupportObjectaEvent - the event to fire.
public void fireVetoableChange(java.lang.String aPropertyName,
java.lang.Object aOldValue,
java.lang.Object aNewValue)
throws java.beans.PropertyVetoException
PropertyChangeEvent from this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
fireVetoableChange in interface ISupportObjectaPropertyName - the property for which to fire the event.aOldValue - the old value for the event.aNewValue - the new value for the event.
public void fireVetoableChange(java.beans.PropertyChangeEvent aEvent)
throws java.beans.PropertyVetoException
PropertyChangeEvent from this
ISupportObject instance.
This implementation throws an UnsupportedOperationException.
fireVetoableChange in interface ISupportObjectaEvent - the event to fire.public java.lang.Object clone()
Object. The
implementor defines whether the cloning is deep or shallow.
This implementation throws an UnsupportedOperationException.
clone in interface ICloneableclone in class java.lang.ObjectObject.protected void findOutIfWriteable()
IPropertySource instances are
writeable. If so, sets the writable flag to true.
protected java.lang.Object getMethod(java.lang.reflect.Method aMethod,
java.lang.Object[] args)
IPropertySource instances and finds the
first IPropertySource instance that returns a non-null result.IPropertySource instance
that returns a non-null result, or null.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||