# Interface CodeList.Filter

Enclosing class:
  `CodeList<E extends CodeList<E>>`

public static interface CodeList.Filter
Used by `CodeList​.valueOf(Class, Filter)` to select codes matching an arbitrary criterion.

Since:
  2.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `accept(CodeList<?> code)`
  Returns `true` if the given code matches the criterion defined by this filter.
  `String`
  `codename()`
  Returns the name of the code being looked for, or `null` if unknown.

- ## Method Details

  - ### accept

    boolean accept(CodeList<?> code)
    Returns `true` if the given code matches the criterion defined by this filter.
    Parameters:
      `code` - The code to test.
    Returns:
      `true` if the code matches the criterion.

  - ### codename

    String codename()
    Returns the name of the code being looked for, or `null` if unknown. This method is invoked by `CodeList​.valueOf(Class, Filter)` if no code match the criterion defined by this filter. In such case, there is a choice:

    - If this method returns a non-null name, then a new code of that name is created.
    - Otherwise, no new code is created and `CodeList​.valueOf` returns `null`.
    Returns:
      The name of the code being looked for, or `null`.