org.apache.ignite.internal.managers.systemview

## Class FiltrableSystemViewAdapter<R,D>

- java.lang.Object
- - org.apache.ignite.internal.managers.systemview.FiltrableSystemViewAdapter<R,D>

All Implemented Interfaces:
  Iterable<R>, FiltrableSystemView<R>, SystemView<R>

    public class FiltrableSystemViewAdapter<R,D>
    extends Object
    implements FiltrableSystemView<R>

System view which supports attribute filtering.

### Constructor Summary

Constructors
Constructor and Description
`FiltrableSystemViewAdapter(String name, String desc, SystemViewRowAttributeWalker<R> walker, Function<Map<String,Object>,Iterable<D>> dataSupplier, Function<D,R> rowFunc)`

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `description()`
`@NotNull Iterator<R>` `iterator()`
`@NotNull Iterator<R>` `iterator(Map<String,Object> filter)`
`String` `name()`
`int` `size()`
`SystemViewRowAttributeWalker<R>` `walker()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.ignite.spi.systemview.view.SystemView

`description, name, walker`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Constructor Detail

#### FiltrableSystemViewAdapter

    public FiltrableSystemViewAdapter(String name,
                                      String desc,
                                      SystemViewRowAttributeWalker<R> walker,
                                      Function<Map<String,Object>,Iterable<D>> dataSupplier,
                                      Function<D,R> rowFunc)

Parameters:
  `name` - Name.
  `desc` - Description.
  `walker` - Walker.
  `dataSupplier` - Data supplier.
  `rowFunc` - Row function.

### Method Detail

#### iterator

    @NotNull
    public @NotNull Iterator<R> iterator(Map<String,Object> filter)

Specified by:
  `iterator` in interface `FiltrableSystemView<R>`
Parameters:
  `filter` - Filter for a view (`null` or empty filter means no filtering).
Returns:
  Iterator for filtered system view content.

#### iterator

    @NotNull
    public @NotNull Iterator<R> iterator()

Specified by:
  `iterator` in interface `Iterable<R>`

#### size

    public int size()

Specified by:
  `size` in interface `SystemView<R>`
Returns:
  Size of the view.

#### name

    public String name()

Specified by:
  `name` in interface `SystemView<R>`
Returns:
  View name.

#### description

    public String description()

Specified by:
  `description` in interface `SystemView<R>`
Returns:
  View description.

#### walker

    public SystemViewRowAttributeWalker<R> walker()

Specified by:
  `walker` in interface `SystemView<R>`
Returns:
  Helper for exporters.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.12.0
Release Date | : January 10 2022