Interface BlockContext<V>

Type Parameters:
V - Type of the result
All Known Implementing Classes:
BlockContext.DefaultListContext, BlockContext.DefaultMapContext, BlockContext.DefaultObjectContext, MapEntityContext, MapEntityContext.MapEntityMappingYamlContext, MapEntityContext.MapEntitySequenceYamlContext, StringListMapContext, StringListMapContext.AttributeValueYamlContext

public interface BlockContext<V>
A class implementing a BlockContext interface represents a transformer from a primitive value / sequence / mapping representation as declared in YAML format into a Java object of type V, with ability to produce the resulting instance of parsing.

This transformer handles only a values of a single node in structured file, i.e. single value (a primitive value, sequence or mapping). The root level is at the beginning of e.g. YAML or JSON document. Every mapping key and every sequence value then represents next level of nesting.

Author:
hmlnarik
  • Method Details

    • writeValue

      void writeValue(V value, WritingMechanism mech)
      Writes the given value using WritingMechanism.
      Parameters:
      value -
      mech -
    • getContext

      BlockContext<?> getContext(String nameOfSubcontext)
      Called after reading a key of map entry in YAML file and before reading its value. The key of the entry is represented as nameOfSubcontext parameter, and provides means to specify a YamlContext for transforming the mapping value into appropriate Java object.
      Parameters:
      nameOfSubcontext - Key of the map entry
      Returns:
      Context used for transforming the value, or null if the default primitive / sequence / mapping context should be used instead.
      See Also:
    • add

      default void add(String name, Object value)
      Modifies the result returned from within this context by providing the read mapping entry name to given value.

      Called after reading a map entry (both key and value) from the YAML file is finished. The entry is represented as name parameter (key part of the entry) and value (value part of the entry).

      The method is called in the same order as the mapping items appear in the source YAML mapping.

      Parameters:
      name -
      value -
    • add

      default void add(Object value)
      Modifies the result returned from within this context by providing the read primitive value or a single sequence item in the value parameter.

      Called after reading a primitive value or a single sequence item from the YAML file is finished.

      If the parsed YAML part was a sequence, this method is called in the same order as the sequence items appear in the source YAML sequence.

      Parameters:
      value -
    • getResult

      V getResult()
      Returns the result of parsing the given part of YAML file.
      Returns:
    • getScalarType

      Class<?> getScalarType()