public class ELPropertyContentProvider extends PageFlowScopeAdapter implements Serializable, IUpdateableContentProvider
IUpdateableContentProvider
implementation that wraps any object and accesses its properties
using faces' expression language.
class Item { public int getId(); public String getName(); }; Item item = new Item("1", "First Item"); IUpdateableContentProvider provider = new ELPropertyContentProvider(item); Integer itemId = (Integer)provider.getValue("id"); // returns 1 String itemName = (String)provider.getValue("name"); // return "First Item" provider.setValue("name", "The new name"); // update the items name property
Modifier and Type | Field and Description |
---|---|
protected Object |
m_o
Wrapped object
|
fExpireWithPageFlow
Constructor and Description |
---|
ELPropertyContentProvider()
Default constructor.
|
ELPropertyContentProvider(Object o)
Initializes with the given object
|
Modifier and Type | Method and Description |
---|---|
Object |
getObject()
Returns currently wrapped object
|
Object[] |
getPropertyKeys()
Returns list of properties supported by this content provider.
|
Class<?> |
getType(Object propertyKey)
Returns java type of the given property
|
Object |
getValue(Object propertyKey)
Returns value of the given property
|
boolean |
hasProperty(Object propertyKey)
Checks if the given property is supported by this content provider
|
boolean |
isReadOnly(Object propertyKey)
Returns true if the given property is readonly.
|
void |
setObject(Object o)
Sets an object to wrap.
|
void |
setValue(Object propertyKey,
Object value)
Sets new value of the given property
|
String |
toString()
Returns string representation of content.
|
getExpireWithPageFlow, setExpireWithPageFlow
protected Object m_o
public ELPropertyContentProvider()
setObject(Object)
must be called before use.public ELPropertyContentProvider(Object o)
o
- any object to adaptpublic String toString()
IContentProvider
toString
in interface IContentProvider
toString
in class Object
String
representation of the wrapped contentpublic Object[] getPropertyKeys()
IContentProvider
Object[0]
,
never null.getPropertyKeys
in interface IContentProvider
String
or Integer
public Class<?> getType(Object propertyKey) throws PropertyNotFoundException
IContentProvider
getType
in interface IContentProvider
propertyKey
- the property key of type String
or Integer
Class
PropertyNotFoundException
- if property is not supportedpublic Object getValue(Object propertyKey) throws ELException, PropertyNotFoundException
IContentProvider
getValue
in interface IContentProvider
propertyKey
- the property key of type String
or Integer
null
PropertyNotFoundException
- if property is not supportedELException
public boolean hasProperty(Object propertyKey)
IContentProvider
hasProperty
in interface IContentProvider
propertyKey
- property key of type String
or Integer
true
if property is supportedpublic boolean isReadOnly(Object propertyKey) throws ELException, PropertyNotFoundException
IUpdateableContentProvider
Returns true if the given property is readonly. If it is readonly, IUpdateableContentProvider.setValue(Object, Object)
will
definitely fail.
isReadOnly
in interface IUpdateableContentProvider
propertyKey
- property key of type String
or Integer
PropertyNotFoundException
ELException
public void setValue(Object propertyKey, Object value) throws ELException, PropertyNotFoundException
IUpdateableContentProvider
Sets new value of the given property
setValue
in interface IUpdateableContentProvider
propertyKey
- property key of type String
or Integer
value
- new property valuePropertyNotFoundException
- if property is not foundELException
public void setObject(Object o)
public Object getObject()