Annotation Type PofExtractor


  • @Inherited
    @ExtractorBinding
    @Documented
    @Retention(RUNTIME)
    @Repeatable(Extractors.class)
    public @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 (ie. address.city, in which case 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:
    3.0
    Author:
    Gunnar Hillert
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      int[] index
      Returns an array of POF indexes to use to extract the value.
      String path
      Returns a property path to use to extract the value.
      Class<?> type
      Returns the root type to extract property from.
    • Element Detail

      • 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