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 calling Session.enableFilter(String), unless the filter is declared as auto-enabled. If, in a given session, a filter not declared autoEnabled = true is not explicitly enabled by calling enableFilter(), the filter will have no effect in that session.

    Every parameter of the filter must be supplied an argument by calling setParameter() immediately after enableFilter() is called, and before any other operation of the session is invoked.

    See Also:
    FilterDef, Session.enableFilter(String), FilterDefinition
    • 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 since FilterDefinition is an SPI type, and so this operation is a layer-breaker.
        Get the associated definition 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 associated autoEnabled of this named filter.
        Returns:
        The flag value
      • isAppliedToLoadByKey

        boolean isAppliedToLoadByKey()
        Get the associated applyToLoadByKey of this named filter.
        Returns:
        The flag value