Package groovy.json

Class DefaultJsonGenerator.ClosureConverter

java.lang.Object
groovy.json.DefaultJsonGenerator.ClosureConverter
All Implemented Interfaces:
JsonGenerator.Converter
Enclosing class:
DefaultJsonGenerator

protected static class DefaultJsonGenerator.ClosureConverter
extends Object
implements JsonGenerator.Converter
A converter that handles converting a given type using a closure.
Since:
2.5.0
  • Field Details

    • type

      protected final Class<?> type
    • closure

      protected final Closure<?> closure
    • paramCount

      protected final int paramCount
  • Constructor Details

    • ClosureConverter

      protected ClosureConverter​(Class<?> type, Closure<?> closure)
  • Method Details

    • handles

      public boolean handles​(Class<?> type)
      Returns true if this converter can handle conversions of the given type.
      Specified by:
      handles in interface JsonGenerator.Converter
      Parameters:
      type - the type of the object to convert
      Returns:
      true if this converter can successfully convert values of the given type
    • convert

      public Object convert​(Object value, String key)
      Converts a given value.
      Specified by:
      convert in interface JsonGenerator.Converter
      Parameters:
      value - the object to convert
      key - the key name for the value, may be null
      Returns:
      the converted object
    • equals

      public boolean equals​(Object o)
      Any two Converter instances registered for the same type are considered to be equal. This comparison makes managing instances in a Set easier; since there is no chaining of Converters it makes sense to only allow one per type.
      Overrides:
      equals in class Object
      Parameters:
      o - the object with which to compare.
      Returns:
      true if this object contains the same class; false otherwise.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object