Package org.benf.cfr.reader.api

# Enum Class OutputSinkFactory.SinkClass

java.lang.Object
java.lang.Enum<OutputSinkFactory.SinkClass>
org.benf.cfr.reader.api.OutputSinkFactory.SinkClass

All Implemented Interfaces:
  `Serializable`, `Comparable<OutputSinkFactory.SinkClass>`, `Constable`

Enclosing interface:
  `OutputSinkFactory`

public static enum OutputSinkFactory.SinkClass extends Enum<OutputSinkFactory.SinkClass>
Defines the kind of object that will arrive on your sink.
All consumers should accept at least STRING.
Not all classes are appropriate to all sink types.
`OutputSinkFactory.Sink` instances are constructed, and used in terms of sink classes so as to ensure easy future expansion of capabilities without breaking the ABI, and without being entirely weakly typed.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `DECOMPILED`
  Sinks will accept `SinkReturns.Decompiled`
  `DECOMPILED_MULTIVER`
  Sinks will accept `SinkReturns.DecompiledMultiVer`
  `EXCEPTION_MESSAGE`
  Sinks will accept `SinkReturns.ExceptionMessage`
  `LINE_NUMBER_MAPPING`
  Sink will accept `SinkReturns.LineNumberMapping`s This will contain a mapping, per method, of bytecode location in a method to the line number in the generated text.
  `STRING`
  Sinks will accept a string
  `TOKEN_STREAM`
  Sinks will accept a stream of `SinkReturns.Token`, terminating in an EOF token for any given file.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final Class<?>`
  `sinkClass`
  Get the type of message that the sink will be expected to take.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static OutputSinkFactory.SinkClass`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static OutputSinkFactory.SinkClass[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

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

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### STRING

    public static final OutputSinkFactory.SinkClass STRING
    Sinks will accept a string

  - ### DECOMPILED

    public static final OutputSinkFactory.SinkClass DECOMPILED
    Sinks will accept `SinkReturns.Decompiled`

  - ### DECOMPILED_MULTIVER

    public static final OutputSinkFactory.SinkClass DECOMPILED_MULTIVER
    Sinks will accept `SinkReturns.DecompiledMultiVer`

  - ### EXCEPTION_MESSAGE

    public static final OutputSinkFactory.SinkClass EXCEPTION_MESSAGE
    Sinks will accept `SinkReturns.ExceptionMessage`

  - ### TOKEN_STREAM

    public static final OutputSinkFactory.SinkClass TOKEN_STREAM
    Sinks will accept a stream of `SinkReturns.Token`, terminating in an EOF token for any given file. Note that these tokens may be reused, and should not be cached.

  - ### LINE_NUMBER_MAPPING

    public static final OutputSinkFactory.SinkClass LINE_NUMBER_MAPPING
    Sink will accept `SinkReturns.LineNumberMapping`s This will contain a mapping, per method, of bytecode location in a method to the line number in the generated text. Note that due to lambda inlining/bridges/friends etc, this means that methods which are not emitted in the eventual decompilation will receive line number mappings, which will point to line numbers that are visibly contained in other methods. see `SinkReturns.LineNumberMapping` for further details.

- ## Field Details

  - ### sinkClass

    public final Class<?> sinkClass
    Get the type of message that the sink will be expected to take.

- ## Method Details

  - ### values

    public static OutputSinkFactory.SinkClass[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static OutputSinkFactory.SinkClass valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null