This namespace contains element specific logic. It defines the different element categories of model elements and views and the hierarchical relationships. The namespace also defines predicates to query the elements and functionality requiring only elements or collections of elements without references to the model as a whole.
This namespace contains element specific logic. It defines the different element categories of model elements and views and the hierarchical relationships. The namespace also defines predicates to query the elements and functionality requiring only elements or collections of elements without references to the model as a whole.
(all-tags? v e)
Returns true if all of the tags in v
are tags of e
.
Returns true if all of the tags in `v` are tags of `e`.
(all-techs? v e)
Returns true if all of the technologies in v
are technologies of e
.
Returns true if all of the technologies in `v` are technologies of `e`.
Node types in the architecture model.
Node types in the architecture model.
(architecture-node? e)
Returns true if the given element e
is a architecture model node.
Returns true if the given element `e` is a architecture model node.
Relation types in the architecture model.
Relation types in the architecture model.
(architecture-relation? e)
Returns true if the given element e
is a architecture model relation.
Returns true if the given element `e` is a architecture model relation.
(boundary? e)
Returns true if e
is a boundary.
Returns true if `e` is a boundary.
(child? e p)
Returns true, if element e
is a child of model element p
.
Returns true, if element `e` is a child of model element `p`.
(children e)
Returns the children of the element e
.
Returns the children of the element `e`.
(class-model-node? e)
Returns true if the given element e
is a class model node.
Returns true if the given element `e` is a class model node.
(class-model-relation? e)
Returns true if the given element e
is a class model relation.
Returns true if the given element `e` is a class model relation.
Relation types for class models.
Relation types for class models.
Element types of a class view.
Element types of a class view.
Element types of a C4 code view.
Element types of a C4 code view.
(collect-fields coll)
Returns the fields of all classes in the coll
.
Returns the fields of all classes in the `coll`.
(collect-methods coll)
Returns the methods of all classes in the coll
.
Returns the methods of all classes in the `coll`.
(collect-technologies coll)
Returns the set of technologies for the elements of the coll.
Returns the set of technologies for the elements of the coll.
Element types of a C4 component view.
Element types of a C4 component view.
(concept-model-node? e)
Returns true if the given element e
is a concept model node.
Returns true if the given element `e` is a concept model node.
(concept-model-relation? e)
Returns true if the given element e
is a concept model relation.
Returns true if the given element `e` is a concept model relation.
Node types for concept models.
Node types for concept models.
Relation types of concept models.
Relation types of concept models.
Element types of a concept view.
Element types of a concept view.
The set of concept views types.
The set of concept views types.
Element types of a C4 container view.
Element types of a C4 container view.
Element types of a C4 context view.
Element types of a C4 context view.
Node types for deployment models.
Node types for deployment models.
(deployment-node? e)
Returns true if the given element e
is a deployment model node.
Returns true if the given element `e` is a deployment model node.
Relation types for deployment models.
Relation types for deployment models.
(deployment-relation? e)
Returns true if the given element e
is a deployment model relation.
Returns true if the given element `e` is a deployment model relation.
Element types of a C4 deployment view.
Element types of a C4 deployment view.
(desc-check? v e)
Returns true if the check for desc on e
equals the boolean value v
Returns true if the check for desc on `e` equals the boolean value `v`
(desc? v e)
Returns true if the description of e
matches the regular expressionv
.
Returns true if the description of `e` matches the regular expression`v`.
(difference-by-id base-set & sets)
Returns a set of elements that is the difference of the base-set
and the rest of the sets
.
Equality is based on the id (:id key) of the element maps in the sets, not on value equality of the maps (entity equality vs. value equality).
Returns a set of elements that is the difference of the `base-set` and the rest of the `sets`. Equality is based on the id (:id key) of the element maps in the sets, not on value equality of the maps (entity equality vs. value equality).
Element types of a C4 dynamic view.
Element types of a C4 dynamic view.
(el? v e)
Returns true if the element type of e
is equal to v
.
Returns true if the element type of `e` is equal to `v`.
(element->ref e)
Returns a ref for the element e
, if it is identifiable.
Returns a ref for the element `e`, if it is identifiable.
Hierarchy for rendering methods.
Hierarchy for rendering methods.
(element-name e)
Returns the name of the element e
.
Returns the name of the element `e`.
(element-namespace e)
Returns the namespace of the element e
.
Returns the namespace of the element `e`.
(element? e)
Returns true if the given element e
has a type (:el key).
Returns true if the given element `e` has a type (:el key).
(elements-by-namespace coll)
Returns the elements of the coll
grouped by namespace.
Returns the elements of the `coll` grouped by namespace.
(els? v e)
Returns true if the element type of e
is contained in v
.
Returns true if the element type of `e` is contained in `v`.
(external-check? v e)
Returns true if the check for external on e
equals the boolean value v
Returns true if the check for external on `e` equals the boolean value `v`
(external? e)
Returns true if the given element e
is external.
Returns true if the given element `e` is external.
(from-namespace-prefix? v e)
Returns true, if v
is a prefix of the namespace of element referenced by the from id of relation e
.
Returns true, if `v`is a prefix of the namespace of element referenced by the from id of relation `e`.
(from-namespace? v e)
Returns true, if v
is the namespace of the element referenced by the from id of relation e
.
Returns true, if `v`is the namespace of the element referenced by the from id of relation `e`.
(from-namespaces? v e)
Returns true, if the set of namespaces v
contains the namespace of the from id of relation e
.
Returns true, if the set of namespaces `v` contains the namespace of the from id of relation `e`.
(from? v e)
Returns true if the from id of the relation e
is equal to v
.
Returns true if the from id of the relation `e` is equal to `v`.
(generate-node-id e p)
Generates an identifier for element e
based on the id of the parent p
.
The generated id takes the id of p
as prefix and appends the lowercase
name of e
and the element type of e
separated by a hyphen.
Generates an identifier for element `e` based on the id of the parent `p`. The generated id takes the id of `p` as prefix and appends the lowercase name of `e` and the element type of `e` separated by a hyphen.
(generate-relation-id {:keys [el from to]})
(generate-relation-id el from to)
Generates an identifier for a relation r
.
The generated id takes the id of the referrer as prefix and appends the relation type of the relation and the name part of the referred id separated by a hyphen.
Generates an identifier for a relation `r`. The generated id takes the id of the referrer as prefix and appends the relation type of the relation and the name part of the referred id separated by a hyphen.
Element types of a glossary view.
Element types of a glossary view.
The set of hierarchical view types.
The set of hierarchical view types.
(hierarchical-view? e)
Returns true if the given element e
is a hierarchical view.
Returns true if the given element `e` is a hierarchical view.
(id e)
Returns the id of the element or ref e
.
Returns the id of the element or ref `e`.
(id->element)
(id->element acc)
(id->element acc e)
Step function to create an id to element map.
Adds the association of the id of the element e
to the map acc
.
Step function to create an id to element map. Adds the association of the id of the element `e` to the map `acc`.
(id->element-map elements)
Returns am map of id -> element for the given elements
.
Returns am map of id -> element for the given `elements`.
(id->parent)
(id->parent [res ctx])
(id->parent [res ctx] e)
Step function to create an id to parent element map.
Adds the association from the id of element e
to the parent p
to the map acc
.
Uses a list as stack in the accumulator to manage the context of the current element e
in the traversal of the tree.
Step function to create an id to parent element map. Adds the association from the id of element `e` to the parent `p` to the map `acc`. Uses a list as stack in the accumulator to manage the context of the current element `e` in the traversal of the tree.
(id-check? v e)
Returns true if the check for id on e
equals the boolean value v
Returns true if the check for id on `e` equals the boolean value `v`
(id? v e)
Returns true if the id of e
is equal to v
.
Returns true if the id of `e` is equal to `v`.
(identifiable-element? e)
Returns true if the given element e
is an element and named.
Returns true if the given element `e` is an element and named.
(identifiable-named-element? e)
Returns true if the given element e
is an element, identifiable and named.
Returns true if the given element `e` is an element, identifiable and named.
(identifiable-relational-element? e)
Returns true if the given element e
is an identifiable relation.
Returns true if the given element `e` is an identifiable relation.
(identifiable? e)
Returns true if the given element e
has an ID (:id key).
Returns true if the given element `e` has an ID (:id key).
Returns a transducer to extract the id of each element.
Returns a transducer to extract the id of each element.
(internal? e)
Returns true if the given element e
is internal.
Returns true if the given element `e` is internal.
(key->element k)
Returns a step function to create an key k
to element map.
Adds the association of the id of the element e
to the map acc
.
Returns a step function to create an key `k` to element map. Adds the association of the id of the element `e` to the map `acc`.
(key-check? [k v] e)
Returns true if the check for the key k
on element e
equals the boolean value v
.
Useful to check for custom keys.
Returns true if the check for the key `k` on element `e` equals the boolean value `v`. Useful to check for custom keys.
(key? [k v] e)
Returns true if the check for entry
on element e
equals the boolean value `v.
Returns true if the check for `entry` on element `e` equals the boolean value `v.
(model-element? e)
Returns true if the given element e
is a model element.
Returns true if the given element `e` is a model element.
(model-node? e)
Returns true if the given element is a node in the model element graph. A model node is a model element which is not a relation.
Returns true if the given element is a node in the model element graph. A model node is a model element which is not a relation.
Relation types of the model.
Relation types of the model.
(model-relation? e)
Returns true if the given element e
is a model relation.
Returns true if the given element `e` is a model relation.
(name-check? v e)
Returns true if the check for name on e
equals the boolean value v
Returns true if the check for name on `e` equals the boolean value `v`
(name-prefix? v e)
Returns true if the name of e
starts with v
.
Returns true if the name of `e` starts with `v`.
(name? v e)
Returns true if the name of e
matches v
.
Returns true if the name of `e` matches `v`.
(named-element? e)
Returns true if the given element e
is an element and named.
Returns true if the given element `e` is an element and named.
(named-relational-element? e)
Returns true if the given element e
is a named relation.
Returns true if the given element `e` is a named relation.
(named? e)
Returns true if the given element e
has a name (:name key).
Returns true if the given element `e` has a name (:name key).
(namespace-prefix? v e)
Returns true, if v
is a prefix of the namespace of element e
.
Returns true, if `v`is a prefix of the namespace of element `e`.
(namespace? v e)
Returns true, if v
is the namespace of element e
.
Returns true, if `v`is the namespace of element `e`.
(namespaced? e)
Returns true, if the id of element e
has a namespace.
Returns true, if the id of element `e` has a namespace.
Returns a transducer to extract the namespaces of some elements.
Returns a transducer to extract the namespaces of some elements.
(namespaces? v e)
Returns true, if the set of namespaces v
contains the namespace of element e
.
Returns true, if the set of namespaces `v` contains the namespace of element `e`.
Returns a transducer to extract the id of each node.
Returns a transducer to extract the id of each node.
(node-of? kind e)
Returns true if the given element e
is a node of kind
.
Returns true if the given element `e` is a node of `kind`.
(parent-check? v e)
Returns true if the check for children of e
equals the boolean value v
Returns true if the check for children of `e` equals the boolean value `v`
(reference? e)
Returns true if the given element e
is a reference.
Returns true if the given element `e` is a reference.
(referred-id->relation)
(referred-id->relation acc)
(referred-id->relation acc e)
Step function to create an map of referred ids to relations.
Adds the relation r
to the set associated with the id of the :to reference in the map acc
.
Step function to create an map of referred ids to relations. Adds the relation `r` to the set associated with the id of the :to reference in the map `acc`.
(referrer-id->relation)
(referrer-id->relation acc)
(referrer-id->relation acc e)
Step function to create an map of referrer ids to relations.
Adds the relation r
to the set associated with the id of the :from reference in the map acc
.
Step function to create an map of referrer ids to relations. Adds the relation `r` to the set associated with the id of the :from reference in the map `acc`.
(relation-of? kind e)
Returns true if the given element e
is a relation of kind
.
Returns true if the given element `e` is a relation of `kind`.
(relational-element? e)
Returns true if the given element e
is a relation.
Returns true if the given element `e` is a relation.
(relational? e)
Returns true if the given element e
is a relation.
Returns true if the given element `e` is a relation.
Element types of a state machine view.
Element types of a state machine view.
Node types for statemachine models.
Node types for statemachine models.
(statemachine-node? e)
Returns true if the given element e
is a statemachine model node.
Returns true if the given element `e` is a statemachine model node.
Relation types for statemachine models.
Relation types for statemachine models.
(statemachine-relation? e)
Returns true if the given element e
is a statemachine model relation.
Returns true if the given element `e` is a statemachine model relation.
(subtype-check? v e)
Returns true if the check for subtype on e
equals the boolean value v
Returns true if the check for subtype on `e` equals the boolean value `v`
(subtype? v e)
Returns true if the subtype of e
is equal to v
.
Returns true if the subtype of `e` is equal to `v`.
(subtypes? v e)
Returns true if the subtype of e
is contained in v
.
Returns true if the subtype of `e` is contained in `v`.
(synthetic? e)
Returns true, if the element e
is a synthetic element.
Returns true, if the element `e` is a synthetic element.
Element types of a C4 system-landscape view.
Element types of a C4 system-landscape view.
(tag? v e)
Returns true if v
is a tag of e
.
Returns true if `v` is a tag of `e`.
(tags-check? v e)
Returns true if the check for tags on e
equals the boolean value v
Returns true if the check for tags on `e` equals the boolean value `v`
(tags? v e)
Returns true if any of the tags in v
are tags of e
.
Returns true if any of the tags in `v` are tags of `e`.
(tech-check? v e)
Returns true if the check for tech on e
equals the boolean value v
Returns true if the check for tech on `e` equals the boolean value `v`
(tech-collector)
(tech-collector acc)
(tech-collector acc e)
Step function to collect the technologies.
Adds the tech of e
to the accumulator acc
.
Step function to collect the technologies. Adds the tech of `e` to the accumulator `acc`.
(tech? v e)
Returns true if v
is a technology of e
.
Returns true if `v` is a technology of `e`.
Technical node types in the architecture model.
Technical node types in the architecture model.
(technical-architecture-node? e)
Returns true if the given element e
is a technical architecture model node.
Returns true if the given element `e` is a technical architecture model node.
(technologies e)
Returns a vector of the technologies used by the element e
.
Returns a vector of the technologies used by the element `e`.
(techs? v e)
Returns true if any of the technologies in v
are technologies of e
.
Returns true if any of the technologies in `v` are technologies of `e`.
(theme? e)
Returns true if the given element e
is a theme.
Returns true if the given element `e` is a theme.
(to-namespace-prefix? v e)
Returns true, if v
is a prefix of the namespace of element referenced by the to id of relation e
.
Returns true, if `v`is a prefix of the namespace of element referenced by the to id of relation `e`.
(to-namespace? v e)
Returns true, if v
is the namespace of the element referenced by the to id of relation e
.
Returns true, if `v`is the namespace of the element referenced by the to id of relation `e`.
(to-namespaces? v e)
Returns true, if the set of namespaces v
contains the namespace of the to id of relation e
.
Returns true, if the set of namespaces `v` contains the namespace of the to id of relation `e`.
(to? v e)
Returns true if the to id of the relation e
is equal to v
.
Returns true if the to id of the relation `e` is equal to `v`.
(traverse step-fn coll)
(traverse pred-fn step-fn coll)
(traverse pred-fn children-fn step-fn coll)
(traverse element-fn pred-fn children-fn step-fn coll)
Recursively traverses the coll
of elements and returns the elements
(selected by the optional pred-fn
) and transformed by the step-fn
.
pred-fn
- a predicate on the current element
children-fn
- a function to resolve the children of the current element
step-fn
- a function with three signatures [], [acc] and [acc e]
The no args signature of the step-fn
should return an empty accumulator,
the one args signature extracts the result from the accumulator on return
and the 2 args signature receives the accumulator and the current element and
should add the transformed element to the accumulator.
Recursively traverses the `coll` of elements and returns the elements (selected by the optional `pred-fn`) and transformed by the `step-fn`. `pred-fn` - a predicate on the current element `children-fn` - a function to resolve the children of the current element `step-fn` - a function with three signatures [], [acc] and [acc e] The no args signature of the `step-fn` should return an empty accumulator, the one args signature extracts the result from the accumulator on return and the 2 args signature receives the accumulator and the current element and should add the transformed element to the accumulator.
(tree->set)
(tree->set acc)
(tree->set acc e)
Step function to convert a hierarchical tree of elements to a flat set of elements.
Step function to convert a hierarchical tree of elements to a flat set of elements.
Relation types of UML models.
Relation types of UML models.
Element types of UML views.
Element types of UML views.
(union-by-id & sets)
Returns a set that is the union of the input sets
.
Equality is based on the id (:id key) of the element maps in the sets, not on value equality of the maps (entity equality vs. value equality).
Element maps with the same id will be merged in left-to-right order. If a key occurs in more than one map, the mapping from the latter (left-to-right) will be the mapping in the result.
Returns a set that is the union of the input `sets`. Equality is based on the id (:id key) of the element maps in the sets, not on value equality of the maps (entity equality vs. value equality). Element maps with the same id will be merged in left-to-right order. If a key occurs in more than one map, the mapping from the latter (left-to-right) will be the mapping in the result.
(unresolved-ref? e)
Returns true if the given element e
is a reference.
Returns true if the given element `e` is a reference.
Element types of a use case view.
Element types of a use case view.
Node types for usecase models.
Node types for usecase models.
(usecase-node? e)
Returns true if the given element e
is a usecase model node.
Returns true if the given element `e` is a usecase model node.
Relation types for usecase models.
Relation types for usecase models.
(usecase-relation? e)
Returns true if the given element e
is a usecase model relation.
Returns true if the given element `e` is a usecase model relation.
(value-xf k)
Returns a transducer to extract the value of the key k
of each element.
Returns a transducer to extract the value of the key `k` of each element.
(view-of? e kind)
Returns true if the given element e
is a view of kind
.
Returns true if the given element `e` is a view of `kind`.
(view? e)
Returns true if the given element e
is a view.
Returns true if the given element `e` is a view.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close