Package org.hibernate
Interface Filter
-
- All Known Implementing Classes:
FilterImpl
public interface Filter
Allows control over an enabled filter at runtime. In particular, allows arguments to be assigned to parameters declared by the filter.A filter may be defined using the annotations
@FilterDef
and@Filter
, but must be explicitly enabled at runtime by callingSession.enableFilter(String)
, unless the filter is declared as auto-enabled. If, in a given session, a filter not declaredautoEnabled = true
is not explicitly enabled by callingenableFilter()
, the filter will have no effect in that session.Every parameter of the filter must be supplied an argument by calling
setParameter()
immediately afterenableFilter()
is called, and before any other operation of the session is invoked.- See Also:
FilterDef
,Session.enableFilter(String)
,FilterDefinition
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description FilterDefinition
getFilterDefinition()
Deprecated.There is no plan to remove this operation, but its use should be avoided sinceFilterDefinition
is an SPI type, and so this operation is a layer-breaker.String
getName()
Get the name of this filter.boolean
isAppliedToLoadByKey()
Get the associatedapplyToLoadByKey
of this named filter.boolean
isAutoEnabled()
Get the associatedautoEnabled
of this named filter.Filter
setParameter(String name, Object value)
Set the named parameter's value for this filter.Filter
setParameterList(String name, Object[] values)
Set the named parameter's value list for this filter.Filter
setParameterList(String name, Collection<?> values)
Set the named parameter's value list for this filter.void
validate()
Perform validation of the filter state.
-
-
-
Method Detail
-
getName
String getName()
Get the name of this filter.- Returns:
- This filter's name.
-
getFilterDefinition
@Deprecated(since="6.2") FilterDefinition getFilterDefinition()
Deprecated.There is no plan to remove this operation, but its use should be avoided sinceFilterDefinition
is an SPI type, and so this operation is a layer-breaker.Get the associateddefinition
of this named filter.- Returns:
- The filter definition
-
setParameter
Filter setParameter(String name, Object value)
Set the named parameter's value for this filter.- Parameters:
name
- The parameter's name.value
- The value to be applied.- Returns:
- This FilterImpl instance (for method chaining).
-
setParameterList
Filter setParameterList(String name, Collection<?> values)
Set the named parameter's value list for this filter. Used in conjunction with IN-style filter criteria.- Parameters:
name
- The parameter's name.values
- The values to be expanded into an SQL IN list.- Returns:
- This FilterImpl instance (for method chaining).
-
setParameterList
Filter setParameterList(String name, Object[] values)
Set the named parameter's value list for this filter. Used in conjunction with IN-style filter criteria.- Parameters:
name
- The parameter's name.values
- The values to be expanded into an SQL IN list.- Returns:
- This FilterImpl instance (for method chaining).
-
validate
void validate() throws HibernateException
Perform validation of the filter state. This is used to verify the state of the filter after its enablement and before its use.- Throws:
HibernateException
- If the state is not currently valid.
-
isAutoEnabled
boolean isAutoEnabled()
Get the associatedautoEnabled
of this named filter.- Returns:
- The flag value
-
isAppliedToLoadByKey
boolean isAppliedToLoadByKey()
Get the associatedapplyToLoadByKey
of this named filter.- Returns:
- The flag value
-
-