Class Representer

    • Field Detail

      • typeDefinitions

        protected java.util.Map<java.lang.Class<? extends java.lang.Object>,​TypeDescription> typeDefinitions
    • Constructor Detail

      • Representer

        public Representer()
    • Method Detail

      • representJavaBean

        protected MappingNode representJavaBean​(java.util.Set<Property> properties,
                                                java.lang.Object javaBean)
        Tag logic: - explicit root tag is set in serializer - if there is a predefined class tag it is used - a global tag with class name is always used as tag. The JavaBean parent of the specified JavaBean may set another tag (tag:yaml.org,2002:map) when the property class is the same as runtime class
        Parameters:
        properties - JavaBean getters
        javaBean - instance for Node
        Returns:
        Node to get serialized
      • representJavaBeanProperty

        protected NodeTuple representJavaBeanProperty​(java.lang.Object javaBean,
                                                      Property property,
                                                      java.lang.Object propertyValue,
                                                      Tag customTag)
        Represent one JavaBean property.
        Parameters:
        javaBean - - the instance to be represented
        property - - the property of the instance
        propertyValue - - value to be represented
        customTag - - user defined Tag
        Returns:
        NodeTuple to be used in a MappingNode. Return null to skip the property
      • checkGlobalTag

        protected void checkGlobalTag​(Property property,
                                      Node node,
                                      java.lang.Object object)
        Remove redundant global tag for a type safe (generic) collection if it is the same as defined by the JavaBean property
        Parameters:
        property - - JavaBean property
        node - - representation of the property
        object - - instance represented by the node
      • resetTag

        private void resetTag​(java.lang.Class<? extends java.lang.Object> type,
                              Node node)
      • getProperties

        protected java.util.Set<Property> getProperties​(java.lang.Class<? extends java.lang.Object> type)
        Get JavaBean properties to be serialised. The order is respected. This method may be overridden to provide custom property selection or order.
        Parameters:
        type - - JavaBean to inspect the properties
        Returns:
        properties to serialise