Package

io.atomicbits.scraml.generator

codegen

Permalink

package codegen

Visibility
  1. Public
  2. All

Type Members

  1. trait ActionCode extends AnyRef

    Permalink

    Created by peter on 20/01/17.

  2. case class ActionFunctionGenerator(actionCode: ActionCode) extends Product with Serializable

    Permalink

    Created by peter on 20/01/17.

  3. case class ActionFunctionResult(imports: Set[ClassPointer] = Set.empty, actionFunctionDefinitions: List[String] = List.empty, headerPathClassDefinitions: List[SourceDefinition] = List.empty) extends Product with Serializable

    Permalink
  4. case class ActionGenerator(actionCode: ActionCode) extends Product with Serializable

    Permalink

    Created by peter on 20/01/17.

  5. case class GenerationAggr(sourceDefinitionsToProcess: Seq[SourceDefinition], canonicalToMap: Map[CanonicalName, NonPrimitiveType], sourceDefinitionsProcessed: Seq[SourceDefinition] = Seq.empty, sourceFilesGenerated: Seq[SourceFile] = Seq.empty, toMap: Map[CanonicalName, TransferObjectClassDefinition] = Map.empty, toInterfaceMap: Map[CanonicalName, TransferObjectInterfaceDefinition] = Map.empty, toChildParentsMap: Map[CanonicalName, Set[CanonicalName]] = Map.empty, toParentChildrenMap: Map[CanonicalName, Set[CanonicalName]] = Map.empty) extends Product with Serializable

    Permalink

    Created by peter on 18/01/17.

    Created by peter on 18/01/17.

    The generation aggregate contains information that may be needed for source definition generation and information about data and knownledge that was already collected so far in the generation process. The generation process is a recursive operation on the GenerationAggr, which can be expanded during code generation. In other words, new source definitions may be added during code generation, especially the interface definitions are expected to be added then.

    sourceDefinitionsToProcess

    The collected source definitions up to 'now'.

    canonicalToMap

    The canonical TO map.

    sourceFilesGenerated

    The generated source files so far.

    toMap

    The TO map is needed to find all fields that we have to put in a class extending from one or more parents.

    toInterfaceMap

    The map containing the transfer objects that require an interface definition so far, keyed on the canonical name of the original transfer object. This map is expected to grow while source definitions for transfer objects are generated.

    toChildParentsMap

    The direct child parents relations are needed to navigate through the class hierarchy of the transfer objects. The toChildParentsMap is build up when the TOs are added to the toMap.

    toParentChildrenMap

    The direct parent children relations are needed to navigate through the class hierarchy of the transfer objects. The toParentChildrenMap is build up when the TOs are added to the toMap.

Value Members

  1. object CanonicalToSourceDefinitionGenerator

    Permalink

    Created by peter on 14/01/17.

    Created by peter on 14/01/17.

    Transforms a map containing canonical RAML or json-schema types to a sequence of source definitions. The number of source definitions isn't always equal to the number of canonical types, because (multiple) inheritance may produce additional source definitions.

  2. object GenerationAggr extends Serializable

    Permalink

Ungrouped