# Class QValueConverterDirectory

java.lang.Object
com.io7m.quarrel.core.QValueConverterDirectory

All Implemented Interfaces:
  `QValueConverterDirectoryType`

public final class QValueConverterDirectory extends Object implements QValueConverterDirectoryType
The default value converter directory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T> Optional<QValueConverterType<T>>`
  `converterFor(Class<T> type)`
  `Collection<QValueConverterType<?>>`
  `converters()`
  `static QValueConverterDirectoryType`
  `core()`
  `static QValueConverterDirectoryType`
  `empty()`
  `<T> QValueConverterDirectoryType`
  `with(Class<T> clazz, QValueConverterType<T> converter)`
  Extend this value converter directory with the given converter, returning a new directory.

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

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

  ### Methods inherited from interface com.io7m.quarrel.core.QValueConverterDirectoryType

  `with`

- ## Method Details

  - ### empty

    public static QValueConverterDirectoryType empty()
    Returns:
      An empty value converter directory.

  - ### core

    public static QValueConverterDirectoryType core()
    Returns:
      A value converter directory containing a useful set of core types.

  - ### converterFor

    public <T> Optional<QValueConverterType<T>> converterFor(Class<T> type)
    Specified by:
      `converterFor` in interface `QValueConverterDirectoryType`
    Type Parameters:
      `T` - The type
    Parameters:
      `type` - The type
    Returns:
      A converter for the given class, if one exists

  - ### converters

    public Collection<QValueConverterType<?>> converters()
    Specified by:
      `converters` in interface `QValueConverterDirectoryType`
    Returns:
      The set of converters in the directory

  - ### with

    public <T> QValueConverterDirectoryType with(Class<T> clazz, QValueConverterType<T> converter)
    Description copied from interface: `QValueConverterDirectoryType`
    Extend this value converter directory with the given converter, returning a new directory.
    Specified by:
      `with` in interface `QValueConverterDirectoryType`
    Type Parameters:
      `T` - The type
    Parameters:
      `clazz` - The class
      `converter` - The converter
    Returns:
      A new directory with the given converter