Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 2008 BEA Systems, Inc. All Rights Reserved
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bea.content.paging
Interface IFilterablePagedList<T>

All Superinterfaces
  ContentListKeys, IPagedList<T>, Iterable<T>, Serializable

All Known Subinterfaces:
  ISortableFilterablePagedList<T>

    public interface IFilterablePagedList<T>

extends IPagedList<T>

An IPagedList which can be filtered. This is an application of the com.bea.p13n.pagination.FilterablePagedResult model to the Content PagedList construct.

An overview of PagedList capabilities, including sorting and filtering, is provided in the package documentation at `com.bea.content.paging`

Filtering is used to restrict a set of IPagedList results to some subset. Supports single-property filtering with a single filter method (begins with, contains, etc) and a single filter string. For example, you can construct a filter such as: 'name' property value begins with 'foo' The set of filterable properties and the set of filter methods can both be identified via queries. Filterable properties and filter methods can either be 'native' or 'non-native'. Native properties and filter methods will perform best.

This interface is intended to be implemented only by BEA Weblogic Portal. BEA Systems reserves the right to add abstract methods to this interface without notice. Implementations of this interface by other parties must not be expected to compile without change in future versions of BEA Weblogic Portal.

Field Summary

Fields inherited from interface com.bea.content.paging.ContentListKeys
`ALL_ITEMS, BATCH_LOADING_SIZE_KEY, CUSTOM_OBJECT_FILTER, CUSTOM_OBJECT_SORT, FILTER_CRITERIA_KEY, SORT_CRITERIA_KEY`

Method Summary
`Set<String>` | `getAllFilterableProperties()` Which properties we can filter on
`Set<FilterMethod>` | `getAllFilterMethods()` Which FilterMethods we can use (begins with, contains, etc) All implementations must support UNFILTERED, but some may, for example, only be able to support EQUALS and/or BEGINS_WITH.
`Locale` | `getCurrentFilterLocale()` Returns the current locale used for filtering.
`FilterMethod` | `getCurrentFilterMethod()` Returns the current filter method (begins with, contains, etc) we are using -- how the results are currently filtered.
`String` | `getCurrentFilterProperty()` Returns the property (if any) the results are currently filtered on.
`String` | `getCurrentFilterString()` Returns the current string literal used to filter the result.
`Set<String>` | `getNativeFilterableProperties()` Behaves the same as getAllFilterableProperties(), except this method returns only high-performing (native) filterable properties.
`Set<FilterMethod>` | `getNativeFilterMethods()` Behaves the same as getAllFilterMethods(), except this method returns only high-performing (native) filter methods.
`void` | `reFilter(FilterMethod filterMethod, String filterString, String filterProperty, Locale filterLocale)` Refilter the results.

Methods inherited from interface com.bea.content.paging.IPagedList
`fullSize, getBatchLoadingSize, isFullyResolved, iterator, nativeSize, setBatchLoadingSize`

Method Detail

### getAllFilterableProperties

    Set<String> getAllFilterableProperties()
                                           throws RepositoryRuntimeException

  Which properties we can filter on

  Note: a special 'custom object filter' property as defined in ContentListKeys may be present in the returned values.

  Returns
    a set of strings naming filterable properties which can be used with reFilter's filterProperty. May not be null. If there are no filterable properties, then this method should return an empty set.
  Throws
    `RepositoryRuntimeException`

### getNativeFilterableProperties

    Set<String> getNativeFilterableProperties()
                                              throws RepositoryRuntimeException

  Behaves the same as getAllFilterableProperties(), except this method returns only high-performing (native) filterable properties.

  Note: a special 'custom object filter' property as defined in ContentListKeys may be present in the returned values.

  Throws
    `RepositoryRuntimeException`

### getAllFilterMethods

    Set<FilterMethod> getAllFilterMethods()
                                          throws RepositoryRuntimeException

  Which FilterMethods we can use (begins with, contains, etc) All implementations must support UNFILTERED, but some may, for example, only be able to support EQUALS and/or BEGINS_WITH. This method should return the set of supported methods. It must not be null, and needs not include UNFILTERED (but may), as this is implicitly required. Most implementations will probably return something like EnumSet.allOf( FilterMethod.class ).

  Throws
    `RepositoryRuntimeException`

### getNativeFilterMethods

    Set<FilterMethod> getNativeFilterMethods()
                                             throws RepositoryRuntimeException

  Behaves the same as getAllFilterMethods(), except this method returns only high-performing (native) filter methods.

  Throws
    `RepositoryRuntimeException`

### getCurrentFilterProperty

    String getCurrentFilterProperty()
                                    throws RepositoryRuntimeException

  Returns the property (if any) the results are currently filtered on. Generally, must match one of the values returned by getAllFilterableProperties, however it might be null if the filterMethod is UNFILTERED. Some implementations may ignore this property if the results (T) are single-valued (i.e. Strings usually). In this case getFilterableProperties should return an empty array.

  Note: this method may return the special 'custom object filter' property as defined in ContentListKeys.

  Throws
    `RepositoryRuntimeException`

### getCurrentFilterMethod

    FilterMethod getCurrentFilterMethod()
                                        throws RepositoryRuntimeException

  Returns the current filter method (begins with, contains, etc) we are using -- how the results are currently filtered.

  Throws
    `RepositoryRuntimeException`

### getCurrentFilterString

    String getCurrentFilterString()
                                  throws RepositoryRuntimeException

  Returns the current string literal used to filter the result. Might be null if the filterMethod is UNFILTERED.

  Throws
    `RepositoryRuntimeException`

### getCurrentFilterLocale

    Locale getCurrentFilterLocale()
                                  throws RepositoryRuntimeException

  Returns the current locale used for filtering. Null means that Locale is not considered when filtering. Even if set, the implementation might ignore the locale for some properties. In order for locale-based filtering to make sense, the filter property will need different values for various locales.

  Throws
    `RepositoryRuntimeException`

### reFilter

    void reFilter(FilterMethod filterMethod,
                  String filterString,
                  String filterProperty,
                  Locale filterLocale)
                  throws UnsupportedOperationException,
                         IllegalArgumentException,
                         RepositoryRuntimeException

  Refilter the results. This should result in resetting the IPagedList's current position to "before start", since the results will be quite different. It should also reset the internal state of filterProperty, filterMethod, filterString, and filterLocale to those indicated by the reFilter arguments.

  Parameters
    `filterMethod` - the new method to use for filtering. Null is not allowed.
    `filterString` - the string to use for filtering. If filterMethod is UNFILTERED, this is probably ignored, but reFilter should then reissue the query to return a full unfiltered set of results. May not be null or empty, unlesss filterMethod is UNFILTERED.
    `filterProperty` - the property of the result to use for filtering. If filterMethod is UNFILTERED, this property is probably ignored (and reFilter simply resets to the full result set). Must not be null or empty, unless filterMethod is UNFILTERED or the implementation chooses to ignore it. Oherwise this should match one of the names returned by getAllFilterableProperties. This can include the special 'custom object filter' property defined in ContentListKeys.
    `filterLocale` - locale used to filter. Null implies that filtering should not be based on Locale. Might be ignored if the bean or property being filtered does not support locale-based filtering (i.e. the property is an Integer or has no associated localized content).
  Throws
    `UnsupportedOperationException` - if filtering can not be performed for the given property or method.
    `IllegalArgumentException` - if filterMethod is null, or if the filterExpression or filterPropery are null or empty string when filterMethod is anything other than UNFILTERED.
    `RepositoryRuntimeException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 BEA Systems, Inc. All Rights Reserved