apidoc-generator-attributes 0.1.0-SNAPSHOT

This specified additional options that can be specified when using Movio’s scala generators

  • Contact: N/A
  • License: N/A

Resources

No resources

Headers

No headers

Imports

No imports

Enums

No enums

Models

field_validation

Example Json: Minimal | Full

Additional validation options not currently in the standard apidoc spec

Field Type Required? Default Description
regex string No -

Regex string to validate the field with. The field must be a string or [string]. If the field is a [string] all elements in the array will be validated

Example: ^[A-Za-z]+$

maximum long No -

This applies only to [string], [integer] and [long]. The current apidoc spec includes maximum however for an array this the maxium size of the array. This validates the max length or number of each element of the array. The field must be a [string], [integer] or [long]. All elements in the array will be validated as per standard apidoc specs

minimum long No -

This applies only to [string], [integer] and [long]. The current apidoc spec includes minimum however for an array this the minimum size of the array. This validates the minimum length or number of each element of the array. The field must be a [string], [integer] or [long]. All elements in the array will be validated as per standard apidoc specs

kafka_props

Example Json: Minimal | Full

Information needed for generating Kafka wrappers, consumers and producers.

Field Type Required? Default Description
data_type string Yes -

This is the name of the model that this kafka wrapper encapsulated. Model name is the same as defined in the models section

Example: person_address

topic string Yes -

[scala] This is a scala snippet that returns a string with the topic name for kafka. The generator creates a function on the kafka topic object def topic(tenant: String) = <definition-goes-here>

message_generate_key string No java.util.UUID.randomUUID().toString

[scala] This is a scala snippet that creates a string used as the message ID. The message ID is used as the kafka message ID. The generator creates a function on the case class def generateKey(tenant: String) = <definition-goes-here>

scala_field_props

Example Json: Minimal | Full

Additional code generation information for case class fields

Field Type Required? Default Description
class string No -

The fully qualified Scala/Java class to use during implementation. Note that this class must have a json formatter defined in the generator code. Currenly only org.joda.time.LocalDate and org.joda.time.LocalDateTime are implemented. In the future this maybe a defined list of supported classes

Example: org.joda.time.LocalDate

default string No -

Used as the default in a case class.

example string No -

Used in documentation and as a default implementation when creating example implementation’s of case classes

scala_model_props

Example Json: Minimal | Full

Additional code generation information for case classes

Field Type Required? Default Description
extends [string] No -

A list of Scala/Java classes that this model extends

Example: [com.github.BaseClass1, com.github.BaseClass2]

Unions

No unions