Class SnakeYamlReaderGenerator

    • Field Detail

      • locationTracker

        private ModelClass locationTracker
      • locationField

        private java.lang.String locationField
      • trackingArgs

        private java.lang.String trackingArgs
    • Constructor Detail

      • SnakeYamlReaderGenerator

        public SnakeYamlReaderGenerator()
    • Method Detail

      • isLocationTracking

        protected boolean isLocationTracking()
      • writeAllClassesReaders

        private void writeAllClassesReaders​(Model objectModel,
                                            JClass jClass)
      • writeClassReaders

        private void writeClassReaders​(ModelClass modelClass,
                                       JClass jClass,
                                       boolean rootElement)
      • writeAllClassesParser

        private void writeAllClassesParser​(Model objectModel,
                                           JClass jClass)
      • writeClassParser

        private void writeClassParser​(ModelClass modelClass,
                                      JClass jClass,
                                      boolean rootElement)
      • writeClassAttributesParser

        private ModelField writeClassAttributesParser​(java.util.List<ModelField> modelFields,
                                                      java.lang.String objectName,
                                                      boolean rootElement)
      • processField

        private void processField​(ModelField field,
                                  XmlFieldMetadata xmlFieldMetadata,
                                  boolean addElse,
                                  JSourceCode sc,
                                  java.lang.String objectName,
                                  JClass jClass)
        Generate code to process a field represented as an XML element.
        Parameters:
        field - the field to process
        xmlFieldMetadata - its XML metadata
        addElse - add an else statement before generating a new if
        sc - the method source code to add to
        objectName - the object name in the source
        jClass - the generated class source file
      • writeHelpers

        private void writeHelpers​(JClass jClass)
      • addTrackingParameters

        private void addTrackingParameters​(JMethod method)
      • writeNewSetLocation

        private void writeNewSetLocation​(ModelField field,
                                         java.lang.String objectName,
                                         java.lang.String trackerVariable,
                                         JSourceCode sc)
      • writeNewSetLocation

        private void writeNewSetLocation​(java.lang.String key,
                                         java.lang.String objectName,
                                         java.lang.String trackerVariable,
                                         JSourceCode sc)
      • writeNewLocation

        private void writeNewLocation​(java.lang.String trackerVariable,
                                      JSourceCode sc)
      • writeSetLocation

        private void writeSetLocation​(java.lang.String key,
                                      java.lang.String objectName,
                                      java.lang.String trackerVariable,
                                      JSourceCode sc)
      • writePrimitiveField

        private void writePrimitiveField​(ModelField field,
                                         java.lang.String type,
                                         java.lang.String objectName,
                                         java.lang.String locatorName,
                                         java.lang.String locationKey,
                                         java.lang.String setterName,
                                         JSourceCode sc,
                                         boolean wrappedItem)
        Write code to set a primitive field with a value got from the parser, with appropriate default value, trimming and required check logic.
        Parameters:
        field - the model field to set (either XML attribute or element)
        type - the type of the value read from XML
        objectName - the object name in source
        setterName - the setter method name
        sc - the source code to add to
      • convertNumericalType

        private JMethod convertNumericalType​(java.lang.String methodName,
                                             JType returnType,
                                             java.lang.String expression,
                                             java.lang.String typeDesc)