com.isomorphic.datasource
Class DataSourceBeanFilter

java.lang.Object
  |
  +--com.isomorphic.datasource.DataSourceBeanFilter
All Implemented Interfaces:
IBeanFilter

public class DataSourceBeanFilter
extends java.lang.Object
implements IBeanFilter

An IBeanFilter that applies DataSource.getProperties() to all bean values (e.g. applying valueXPath) and optionally strips any bean properties that do not have a corresponding DataSource field definition.

Note: this filter is automatically applied by the RPCManager to all DSResponse objects sent to the client in order to perform valueXPath resolution.

See Also:
IBeanFilter, DataSource.getProperties(java.lang.Object)

Constructor Summary
DataSourceBeanFilter(DataSource dataSource, boolean dropExtraFields)
          Creates a new DataSourceBeanFilter
DataSourceBeanFilter(DataSource dataSource, java.util.Collection propsToKeep)
          Creates a new DataSourceBeanFilter
DataSourceBeanFilter(java.lang.String dataSource, boolean dropExtraFields)
          Creates a new DataSourceBeanFilter
DataSourceBeanFilter(java.lang.String dataSource, java.util.Collection propsToKeep)
          Creates a new DataSourceBeanFilter
 
Method Summary
 java.util.Map filter(java.lang.Object o)
          This method is called to filter a bean (IBeanFilter Interface).
 

Constructor Detail

DataSourceBeanFilter

public DataSourceBeanFilter(java.lang.String dataSource,
                            boolean dropExtraFields)
Creates a new DataSourceBeanFilter
Parameters:
dataSource - DataSource to use, as a String.
dropExtraFields - If true, this filter will drop all bean properties that do not have a corresponding DataSource field definition. If false, those extra fields will not be removed by the filter.

DataSourceBeanFilter

public DataSourceBeanFilter(DataSource dataSource,
                            boolean dropExtraFields)
Creates a new DataSourceBeanFilter
Parameters:
dataSource - DataSource to use, as a DataSource instance.
dropExtraFields - If true, this filter will drop all bean properties that do not have a corresponding DataSource field definition. If false, those extra fields will not be removed by the filter.

DataSourceBeanFilter

public DataSourceBeanFilter(java.lang.String dataSource,
                            java.util.Collection propsToKeep)
Creates a new DataSourceBeanFilter
Parameters:
dataSource - DataSource to use, as a String.
propsToKeep - Explicit list of properties to keep.

DataSourceBeanFilter

public DataSourceBeanFilter(DataSource dataSource,
                            java.util.Collection propsToKeep)
Creates a new DataSourceBeanFilter
Parameters:
dataSource - DataSource to use, as a DataSource instance.
propsToKeep - Explicit list of properties to keep.
Method Detail

filter

public java.util.Map filter(java.lang.Object o)
                     throws java.lang.Exception
This method is called to filter a bean (IBeanFilter Interface). Returns the bean as filtered by this filter.
Specified by:
filter in interface IBeanFilter
Parameters:
obj - the bean to convert
Returns:
the converted bean as a Map