com.filenet.api.property
Class PropertyFilter

java.lang.Object
  extended by com.filenet.api.property.PropertyFilter
All Implemented Interfaces:
java.io.Serializable

public class PropertyFilter
extends java.lang.Object
implements java.io.Serializable

Represents information, used in conjunction with one or more FilterElement objects, for controlling which properties of a Content Engine object (and with what level of detail) to return from the server during an object retrieval or an object refresh. Because the number and size of properties may be large for certain objects, using a property filter to retrieve a subset of the available properties can result in better performance by reducing the amount of data that is retrieved from the server.

A PropertyFilter object has the following components:

In addition, a PropertyFilter object has attributes you can set that control how property values are retrieved. These attributes act as global defaults for the PropertyFilter object. You can override each of these attributes for an individual FilterElement object when you call an addIncludeProperty or addIncludeType method. For any attribute not specified for a FilterElement object, the global attribute value for the PropertyFilter object applies. If a global value is unspecified, a default value applies. Each of the following attributes can be set by the appropriate PropertyFilter method:

Property filter precedence rules:

See Also:
FilterElement, FilteredPropertyType, Serialized Form

Constructor Summary
PropertyFilter()
           
 
Method Summary
 void addExcludeProperty(java.lang.String value)
          Adds one or more properties to be excluded during an object retrieval or object refresh.
 void addIncludeProperty(FilterElement fe)
          Adds one or more properties, specified in a FilterElement object, to be included during an object retrieval or object refresh.
 void addIncludeProperty(int maxRecursion, java.lang.Long maxSize, java.lang.Boolean levelDependents, java.lang.String value)
          Deprecated.  
 void addIncludeProperty(int maxRecursion, java.lang.Long maxSize, java.lang.Boolean levelDependents, java.lang.String value, java.lang.Integer pageSize)
          Creates a FilterElement object and adds one or more properties to be included during an object retrieval or object refresh.
 void addIncludeType(FilterElement fe)
          Adds properties identified by type in a FilterElement object to be included during an object retrieval or object refresh.
 void addIncludeType(int maxRecursion, java.lang.Long maxSize, java.lang.Boolean levelDependents, FilteredPropertyType value)
          Deprecated.  
 void addIncludeType(int maxRecursion, java.lang.Long maxSize, java.lang.Boolean levelDependents, FilteredPropertyType value, java.lang.Integer pageSize)
          Creates a FilterElement object and adds properties identified by type to be included during an object retrieval or object refresh.
 java.lang.String[] getExcludeProperties()
          Returns an array of ExcludeProperty specifications, each of which identifies the properties to be excluded during an object retrieval or object refresh.
 FilterElement[] getIncludeProperties()
          Returns an array of FilterElement objects, each of which identifies one or more properties by to be included during an object retrieval or object refresh.
 FilterElement[] getIncludeTypes()
          Returns an array of FilterElement objects, each of which identifies properties to be included by type during an object retrieval or object refresh.
 java.lang.Boolean getLevelDependents()
          Returns whether the recursion level that the property filter uses when retrieving a dependent object is the same as that of the independent object to which it belongs (true) or one level deeper (false).
 java.lang.Integer getMaxRecursion()
          Returns the maximum recursion depth for the property filter to use when retrieving property relationships.
 java.lang.Long getMaxSize()
          Returns the maximum size of content data that the property filter is allowed to retrieve.
 java.lang.Integer getPageSize()
          Returns the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties.
 void setLevelDependents(boolean levelDependents)
          Sets whether the recursion level that the property filter uses when retrieving a dependent object is the same as that of the independent object to which it belongs (true) or one level deeper (false).
 void setLevelDependents(java.lang.Boolean levelDependents)
          Sets whether the recursion level that the property filter uses when retrieving a dependent object is the same as that of the independent object to which it belongs (true) or one level deeper (false).
 void setMaxRecursion(int maxRecursion)
          Sets the maximum recursion depth for the property filter to use when retrieving property relationships.
 void setMaxRecursion(java.lang.Integer maxRecursion)
          Sets the maximum recursion depth for the property filter to use when retrieving property relationships.
 void setMaxSize(java.lang.Long maxSize)
          Sets the maximum size of content data that the property filter is allowed to retrieve.
 void setPageSize(int pageSize)
          Sets the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties.
 void setPageSize(java.lang.Integer pageSize)
          Sets the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties.
 java.lang.String toString()
          Returns a string describing this PropertyFilter object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PropertyFilter

public PropertyFilter()
Method Detail

getPageSize

public java.lang.Integer getPageSize()
Returns the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved from the server during each fetch. You can set this value by calling one of the setPageSize methods of this PropertyFilter object.

Returns:
An Integer specifying the iterator page size for independent object sets.

setPageSize

public void setPageSize(int pageSize)
Sets the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved from the server during each fetch. If the filter element of a property has a value for pageSize, the server uses the filter element's value instead of this global value. If neither the global value nor the filter element value is specified, by default the server uses the value of the QueryPageDefaultSize property of the ServerCacheConfiguration object (the default for this property is 500). If the page size exceeds the value of the QueryPageMaxSize property of the ServerCacheConfiguration object (the default for this property is 1000), the server uses the value of the QueryPageMaxSize property instead.

Parameters:
pageSize - An int specifying the iterator page size for independent object sets.

setPageSize

public void setPageSize(java.lang.Integer pageSize)
Sets the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved from the server during each fetch. If the filter element of a property has a value for pageSize, the server uses the filter element's value instead of this global value. If neither the global value nor the filter element value is specified, by default the server uses the value of the QueryPageDefaultSize property of the ServerCacheConfiguration object (the default for this property is 500). If the page size exceeds the value of the QueryPageMaxSize property of the ServerCacheConfiguration object (the default for this property is 1000), the server uses the value of the QueryPageMaxSize property instead.

Parameters:
pageSize - An Integer that specifies the iterator page size for independent object sets.

setMaxRecursion

public void setMaxRecursion(int maxRecursion)
Sets the maximum recursion depth for the property filter to use when retrieving property relationships. The value set is the global value for this PropertyFilter object. If the filter element of a property has a value for maxRecursion, the server uses the filter element's value instead of this global value. If neither the global value nor the filter element value is specified, the default is 0.

Parameters:
maxRecursion - An int that specifies the maximum allowable recursion depth for property retrieval.

setMaxRecursion

public void setMaxRecursion(java.lang.Integer maxRecursion)
Sets the maximum recursion depth for the property filter to use when retrieving property relationships. The value set is the global value for this PropertyFilter object. If the filter element of a property has a value for maxRecursion, the server uses the filter element's value instead of this global value. If neither the global nor the filter element value is specified, the default is 0.

Parameters:
maxRecursion - An Integer that specifies the maximum allowable recursion depth for property retrieval.

getMaxRecursion

public java.lang.Integer getMaxRecursion()
Returns the maximum recursion depth for the property filter to use when retrieving property relationships. The returned value is the global value for this PropertyFilter object. You can set this value by calling one of the setMaxRecursion methods of this PropertyFilter object.

Returns:
An Integer specifying the maximum recursion depth; returns 0 if the value of the property filter’s global maximum recursion level is null.

setMaxSize

public void setMaxSize(java.lang.Long maxSize)
Sets the maximum size of content data that the property filter is allowed to retrieve.

Parameters:
maxSize - A Long that specifies the maximum size (in bytes) of content data that can be retrieved. If this size is exceeded, no content data is retrieved. The value set is the global value for this PropertyFilter object. If the filter element of a property has a value for maxSize, the server uses the filter element's value instead of this global value. If neither the global value nor the filter element value is specified, by default there is no limit on the amount of content data that can be retrieved.

getMaxSize

public java.lang.Long getMaxSize()
Returns the maximum size of content data that the property filter is allowed to retrieve. If this size is exceeded, no content data is retrieved. The returned value is a global value for this PropertyFilter object. You can set this value by calling the setMaxSize method of this PropertyFilter object.

Returns:
A Long specifying the maximum size (in bytes) of content data.

getLevelDependents

public java.lang.Boolean getLevelDependents()
Returns whether the recursion level that the property filter uses when retrieving a dependent object is the same as that of the independent object to which it belongs (true) or one level deeper (false). The returned value is a global value for this PropertyFilter object. You can set this value by calling one of the setLevelDependents methods of this PropertyFilter object.

Returns:
true if the recursion level for a dependent object is the same as that of the independent object containing it; false if one level deeper.

setLevelDependents

public void setLevelDependents(boolean levelDependents)
Sets whether the recursion level that the property filter uses when retrieving a dependent object is the same as that of the independent object to which it belongs (true) or one level deeper (false). The value set is the global value for this PropertyFilter object. If the filter element of a property has a value for levelDependents, the server uses the filter element's value instead of this global value. If neither the global value nor the filter element value is specified, the default is false.

Parameters:
levelDependents - true if the recursion level for a dependent object is the same as that of the independent object to which it belongs; false if one level deeper.

setLevelDependents

public void setLevelDependents(java.lang.Boolean levelDependents)
Sets whether the recursion level that the property filter uses when retrieving a dependent object is the same as that of the independent object to which it belongs (true) or one level deeper (false). The value set is the global value for this PropertyFilter object. If the filter element of a property has a value for levelDependents, the server uses the filter element's value instead of this global value. If neither the global value nor the filter element value is specified, the the default is false.

Parameters:
levelDependents - true if the recursion level for a dependent object is the same as that of the independent object to which it belongs; false if one level deeper.

addIncludeProperty

public void addIncludeProperty(FilterElement fe)
Adds one or more properties, specified in a FilterElement object, to be included during an object retrieval or object refresh.

Parameters:
fe - A FilterElement object specifying the properties to include.

addIncludeProperty

public void addIncludeProperty(int maxRecursion,
                               java.lang.Long maxSize,
                               java.lang.Boolean levelDependents,
                               java.lang.String value,
                               java.lang.Integer pageSize)
Creates a FilterElement object and adds one or more properties to be included during an object retrieval or object refresh.

Parameters:
maxRecursion - An integer that specifies the maximum allowable recursion depth for property retrieval. This value overrides the global value set by this PropertyFilter object.
maxSize - A Long that specifies the maximum size of content data that can be retrieved. This value overrides the global value set by this PropertyFilter object.
levelDependents - true if the recursion level for a dependent object is the same as that of the independent object to which it belongs; false if one level deeper. This value overrides the global value set by this PropertyFilter object.
value - A String that specifies a space-separated list of the symbolic names (preferably using PropertyNames constants) of the properties to include.
pageSize - An Integer that specifies the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved from the server during each fetch. This value overrides the global value set by this PropertyFilter object.

addIncludeProperty

public void addIncludeProperty(int maxRecursion,
                               java.lang.Long maxSize,
                               java.lang.Boolean levelDependents,
                               java.lang.String value)
Deprecated. 

Creates a FilterElement object and adds one or more properties to be included during an object retrieval or object refresh.

Parameters:
maxRecursion - An integer that specifies the maximum allowable recursion depth for property retrieval. This value overrides the global value set by this PropertyFilter object.
maxSize - A Long that specifies the maximum size of content data that can be retrieved. This value overrides the global value set by this PropertyFilter object.
levelDependents - true if the recursion level for a dependent object is the same as that of the independent object to which it belongs; false if one level deeper. This value overrides the global value set by this PropertyFilter object.
value - A String that specifies a space-separated list of the symbolic names (preferably using PropertyNames constants) of the properties to include.

getIncludeProperties

public FilterElement[] getIncludeProperties()
Returns an array of FilterElement objects, each of which identifies one or more properties by to be included during an object retrieval or object refresh.

Returns:
An array of FilterElement objects. If this PropertyFilter object does not have any IncludeProperty specifications, this method returns an empty array.

addExcludeProperty

public void addExcludeProperty(java.lang.String value)
Adds one or more properties to be excluded during an object retrieval or object refresh. Any properties specified for exclusion will override those properties that are specified in an IncludeProperty or IncludeType specification.

Parameters:
value - A String that specifies a space-separated list of the symbolic names (preferably using PropertyNames constants) of the properties to exclude.

getExcludeProperties

public java.lang.String[] getExcludeProperties()
Returns an array of ExcludeProperty specifications, each of which identifies the properties to be excluded during an object retrieval or object refresh. Any properties specified for exclusion will override those properties that are specified in an IncludeProperty or IncludeType specification.

Returns:
A String array specifying the properties to be excluded. If this PropertyFilter object does not have any ExcludeProperty specifications defined, this method returns an empty array.

addIncludeType

public void addIncludeType(FilterElement fe)
Adds properties identified by type in a FilterElement object to be included during an object retrieval or object refresh. The property type can be specified in the FilterElement object by a single FilteredPropertyType constant or a space-separated list of type specifiers.

Parameters:
fe - A FilterElement object specifying the type of properties to include.

addIncludeType

public void addIncludeType(int maxRecursion,
                           java.lang.Long maxSize,
                           java.lang.Boolean levelDependents,
                           FilteredPropertyType value,
                           java.lang.Integer pageSize)
Creates a FilterElement object and adds properties identified by type to be included during an object retrieval or object refresh.

Parameters:
maxRecursion - An int that specifies the maximum allowable recursion depth for property retrieval. This value overrides the global value set by this PropertyFilter object.
maxSize - A Long that specifies the maximum size of content data that can be retrieved. This value overrides the global value set by this PropertyFilter object.
levelDependents - true if the recursion level for a dependent object is the same as that of the independent object to which it belongs; false if one level deeper. This value overrides the global value set by this PropertyFilter object.
value - A FilteredPropertyType constant specifying the type of the properties to include.
pageSize - An Integer that specifies the iterator page size for independent object sets returned by PropertyIndependentObjectSet properties. The iterator page size determines how many elements of an independent object set are retrieved from the server during each fetch. This value overrides the global value set by this PropertyFilter object.

addIncludeType

public void addIncludeType(int maxRecursion,
                           java.lang.Long maxSize,
                           java.lang.Boolean levelDependents,
                           FilteredPropertyType value)
Deprecated. 

Creates a FilterElement object and adds properties identified by type to be included during an object retrieval or object refresh.

Parameters:
maxRecursion - An int that specifies the maximum allowable recursion depth for property retrieval. This value overrides the global value set by this PropertyFilter object.
maxSize - A Long that specifies the maximum size of content data that can be retrieved. This value overrides the global value set by this PropertyFilter object.
levelDependents - true if the recursion level for a dependent object is the same as that of the independent object to which it belongs; false if one level deeper. This value overrides the global value set by this PropertyFilter object.
value - A FilteredPropertyType constant specifying the type of the properties to include.

getIncludeTypes

public FilterElement[] getIncludeTypes()
Returns an array of FilterElement objects, each of which identifies properties to be included by type during an object retrieval or object refresh.

Returns:
An array of FilterElement objects. If this PropertyFilter object does not have any IncludeType specifications, this method returns an empty array.

toString

public java.lang.String toString()
Returns a string describing this PropertyFilter object. The string includes the object's class name and its maxRecursion, maxSize, pageSize, and levelDependents attributes. In addition, the string includes the object's list of included properties, list of included property types, and list of excluded properties.

Overrides:
toString in class java.lang.Object
Returns:
A String that represents this PropertyFilter object.


© Copyright IBM Corporation 2006, 2009. All rights reserved.