Annotation Interface PofExtractor


A ExtractorBinding annotation representing a PofExtractor.

This annotation can be used to define an extractor that extracts and attribute from a POF stream based on an array of integer property indices, in which case the type is optional, or a property path based on serialized field names concatenated using period (e.g. address.city) in which case the type() attribute must be set as well.

The latter approach can only be used if the specified type is annotated with a @PortableType annotation and has been instrumented using PortableTypeGenerator (typically via pof-maven-plugin).

Either index() or path() must be specified within this annotation in order for it to be valid.

Since:
1.0
Author:
Jonathan Knight
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static @interface 
    A holder for the repeatable PofExtractor annotation.
    static final class 
    An annotation literal for the PofExtractor annotation.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int[]
    Returns an array of POF indexes to use to extract the value.
    Returns a property path to use to extract the value.
    Returns the root type to extract property from.
  • Element Details

    • index

      int[] index
      Returns an array of POF indexes to use to extract the value.
      Returns:
      an array of POF indexes to use to extract the value
      Default:
      {}
    • path

      String path
      Returns a property path to use to extract the value.

      This attribute can only be used in combination with the type() attribute, and only if the specified type is annotated with a @PortableType annotation and instrumented using PortableTypeGenerator.

      Returns:
      a property path to use to extract the value
      Default:
      ""
    • type

      Class<?> type
      Returns the root type to extract property from.
      Returns:
      the root type to extract property from
      Default:
      java.lang.Object.class