Class AutoBeanCodex


  • public class AutoBeanCodex
    extends java.lang.Object
    Utility methods for encoding an AutoBean graph into a JSON-compatible string. This codex intentionally does not preserve object identity, nor does it encode cycles, but it will detect them.
    • Constructor Detail

      • AutoBeanCodex

        public AutoBeanCodex()
    • Method Detail

      • decode

        public static <T> AutoBean<T> decode​(AutoBeanFactory factory,
                                             java.lang.Class<T> clazz,
                                             Splittable data)
        Decode an AutoBeanCodex payload.
        Type Parameters:
        T - the expected return type
        Parameters:
        factory - an AutoBeanFactory capable of producing AutoBean<T>
        clazz - the expected return type
        data - a payload previously generated by encode(AutoBean)
        Returns:
        an AutoBean containing the payload contents
      • decode

        public static <T> AutoBean<T> decode​(AutoBeanFactory factory,
                                             java.lang.Class<T> clazz,
                                             java.lang.String payload)
        Decode an AutoBeanCodex payload.
        Type Parameters:
        T - the expected return type
        Parameters:
        factory - an AutoBeanFactory capable of producing AutoBean<T>
        clazz - the expected return type
        payload - a payload string previously generated by encode(AutoBean).getPayload().
        Returns:
        an AutoBean containing the payload contents
      • decodeInto

        public static void decodeInto​(Splittable data,
                                      AutoBean<?> bean)
        Copy data from a Splittable into an AutoBean. Unset values in the Splittable will not nullify data that already exists in the AutoBean.
        Parameters:
        data - the source data to copy
        bean - the target AutoBean
      • encode

        public static Splittable encode​(AutoBean<?> bean)
        Encodes an AutoBean. The actual payload contents can be retrieved through Splittable.getPayload().
        Parameters:
        bean - the bean to encode
        Returns:
        a Splittable that encodes the state of the AutoBean