This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

c4 package (main)

This is a description of the main package

import "github.com/owulveryck/cue4puml4c4:c4"

1 - #C1

This is a description of the #C1 object

Example

C1: c4.#C1 & {
        Systems: [{id: "sample", label: "my sample"}]
}

Stuff

Definition

_#def
_#def: {
	title?:      string
	elementTags: #FoundElementTags & {
		#in: Systems
	}
	relationTags: {
		a: {
			if relations != _|_ // explicit error (_|_ literal) in source
			{
				#FoundRelationTags & {
					#in: relations
				}
			}
		}
		b: #FoundRelationTags & {
			#in: Systems
		}
	}
	Technologies: #FoundTechs & {
		#in: Systems
	}
	Persons?: [...#Person]
	Systems: [...#System]
	SystemsExt?: [...#System]
	Container?: [...#Container]
	relations?: [...#Relation]
	layout:         *"top-down" | "left-right" | "landscape"
	hideStereotype: bool | *true
}

Usage

2 - #color

This is a description of the #color object

Definition

=~"#[0-9a-f]{6}"

Usage

=~"#[0-9a-f]{6}"

3 - #Container

This is a description of the #Container object

Definition

import "strings"

_#def
_#def: {
	id:           #id
	label:        *id | string
	technology:   #Technology | *_noTech
	description?: string
	desc:         "" | *strings.Replace(description, """


		""", "\\n", -1)
	tags?: [...#ElementTag]
	link?: #url
}

Usage

  • id: #id
  • label: *id | string
  • technology: #Technology | *_noTech
  • description?: string
  • desc: "" | *strings.Replace(description, """ “”", “\n”, -1)
  • tags?: […#ElementTag]
  • link?: #url

4 - #ElementTag

This is a description of the #ElementTag object

Definition


_#def
_#def: {
	id:           string
	bgColor?:     #color
	fontColor?:   #color
	borderColor?: #color
	legendText?:  string
	technology?:  #Technology
	shadowing?:   bool
	shape?:       "rounded" | "eightsided"
}

Usage

  • id: string
  • bgColor?: #color
  • fontColor?: #color
  • borderColor?: #color
  • legendText?: string
  • technology?: #Technology
  • shadowing?: bool
  • shape?: “rounded” | “eightsided”

5 - #id

This is a description of the #id object

Definition

=~"^[a-zA-Z][a-zA-Z_]*"

Usage

=~"^[a-zA-Z][a-zA-Z_]*"

6 - #Person

This is a description of the #Person object

Definition


_#def
_#def: {
	id:    #id
	label: *id | string
}

Usage

  • id: #id
  • label: *id | string

7 - #Relation

This is a description of the #Relation object

Definition

import "strings"

_#def
_#def: {
	source:      #System | #Container | #Person
	dest:        #System | #Container | #Person
	description: string | *""
	desc:        "" | *strings.Replace(description, """


		""", "\\n", -1)
	protocol?:   string
	link?:       #url
	tags?: [...#RelationTag]
}

Usage

  • source: #System | #Container | #Person
  • dest: #System | #Container | #Person
  • description: string | *""
  • desc: "" | *strings.Replace(description, """ “”", “\n”, -1)
  • protocol?: string
  • link?: #url
  • tags?: […#RelationTag]

8 - #RelationTag

This is a description of the #RelationTag object

Definition


_#def
_#def: {
	id:            string
	textColor?:    #color
	lineColor?:    #color
	lineStyle?:    "dash" | "dot" | "bold"
	technology?:   #Technology
	legendText?:   string
	legendSprite?: "\(technology)"
}

Usage

  • id: string
  • textColor?: #color
  • lineColor?: #color
  • lineStyle?: “dash” | “dot” | “bold”
  • technology?: #Technology
  • legendText?: string
  • legendSprite?: “(technology)”

9 - #Sprite

This is a description of the #Sprite object

Definition


_#def
_#def: {
	name: string
	url:  #url
}

Usage

  • name: string
  • url: #url

10 - #System

This is a description of the #System object

Definition

import "strings"

_#def
_#def: {
	id:           #id
	label:        *id | string
	description?: string
	desc:         "" | *strings.Replace(description, """


		""", "\\n", -1)
	isBoundary:   bool | *false
	technology?:  #Technology
	type?:        #Type
	containers?: [...#Container]
	relations?: [...#Relation]
	systems?: [...#System]
	link?: #url
	tags?: [...#ElementTag]
}

Usage

11 - #Technology

This is a description of the #Technology object

Definition


_#def
_#def: {
	name: string
	type: *"" | "Db" | "Queue"
	sprite?: {
		id:  string | *"\(name)"
		url: string
	}
}

Usage

  • name: string
  • type: *"" | “Db” | “Queue”
  • sprite?: { id: string | *"(name)" url: string }

12 - #Type

This is a description of the #Type object

Definition


_#def
_#def: {
	name: string
}

Usage

  • name: string

13 - #url

This is a description of the #url object

Definition

string

Usage