Namespace org.accordproject.decoratorcommands0.1.0

Compatible with Concerto versions . Has 5 declarations.

Concerto JSON AST UML JSON Schema XML Schema GraphQL TypeScript CSharp Java Go OData

Declared Types

      
      import org.accordproject.decoratorcommands.DecoratorCommandSetReference from https://models.accordproject.org/concerto/decorators.cto
      import org.accordproject.decoratorcommands.CommandType from https://models.accordproject.org/concerto/decorators.cto
      import org.accordproject.decoratorcommands.CommandTarget from https://models.accordproject.org/concerto/decorators.cto
      import org.accordproject.decoratorcommands.Command from https://models.accordproject.org/concerto/decorators.cto
      import org.accordproject.decoratorcommands.DecoratorCommandSet from https://models.accordproject.org/concerto/decorators.cto
      
      

Dependencies

Source

    
/**
 * DecoratorCommandSet defines a set of instructions to add or update decorators
 * on model elements.
 */
namespace org.accordproject.decoratorcommands

import concerto.metamodel.Decorator from https://models.accordproject.org/concerto/metamodel@0.3.0.cto

/**
 * A reference to an existing named & versioned DecoratorCommandSet
 */
concept DecoratorCommandSetReference {
    o String name
    o String version
}

/**
 * Whether to upsert or append the decorator
 */
enum CommandType {
    o UPSERT
    o APPEND
}

/**
 * Which models elements to add the decorator to. Any null
 * elements are 'wildcards'. 
 */
concept CommandTarget {
    o String namespace optional
    o String declaration optional
    o String property optional
    o String type optional 
}

/**
 * Applies a decorator to a given target
 */
concept Command {
    o CommandTarget target
    o Decorator decorator
    o CommandType type
}

/**
 * A named and versioned set of commands. Includes are supported for modularity/reuse.
 */
concept DecoratorCommandSet {
    o String name
    o String version
    o DecoratorCommandSetReference[] includes optional
    o Command[] commands
}