Application Description Language support - utility functions.
Application Description Language support - utility functions.
The locale for which files will be generated.
The locale for which files will be generated.
The path to which generated files will be written.
The path to which generated files will be written.
The verbosity of output from the generator.
The verbosity of output from the generator.
(all-properties entity)
Return all properties of this entity
(including key properties).
Return all properties of this `entity` (including key properties).
(attributes element)
(attributes element predicate)
Return the attributes of this element
; if predicate
is passed, return only those
attributes satisfying the predicate.
Return the attributes of this `element`; if `predicate` is passed, return only those attributes satisfying the predicate.
(capitalise s)
Return a string like s
but with each token capitalised.
Return a string like `s` but with each token capitalised.
(child element predicate)
Return the first child of this element
satisfying this predicate
.
Return the first child of this `element` satisfying this `predicate`.
(child-with-tag element tag)
(child-with-tag element tag predicate)
Return the first child of this element
which has this tag
;
if element
is nil
, return nil
. If predicate
is supplied,
return only the first child with the specified tag
which satisfies
the predicate
.
Return the first child of this `element` which has this `tag`; if `element` is `nil`, return `nil`. If `predicate` is supplied, return only the first child with the specified `tag` which satisfies the `predicate`.
(children element)
(children element predicate)
Return the children of this element
; if predicate
is passed, return only those
children satisfying the predicate.
Return the children of this `element`; if `predicate` is passed, return only those children satisfying the predicate.
(children-with-tag element tag)
(children-with-tag element tag predicate)
Return all children of this element
which have this tag
;
if element
is nil
, return nil
. If predicate
is supplied,
return only those children with the specified tag
which satisfy
the predicate
.
Return all children of this `element` which have this `tag`; if `element` is `nil`, return `nil`. If `predicate` is supplied, return only those children with the specified `tag` which satisfy the `predicate`.
(column-name property)
Return, as a string, the name for the column which represents this property
.
Return, as a string, the name for the column which represents this `property`.
(descendant-with-tag element tag)
(descendant-with-tag element tag predicate)
Return the first descendant of this element
, recursively, which has this tag
.
If predicate
is specified, return the first also satisfying this predicate
.
Return the first descendant of this `element`, recursively, which has this `tag`. If `predicate` is specified, return the first also satisfying this `predicate`.
(descendants-with-tag element tag)
(descendants-with-tag element tag predicate)
Return all descendants of this element
, recursively, which have this tag
.
If predicate
is specified, return only those also satisfying this predicate
.
Return all descendants of this `element`, recursively, which have this `tag`. If `predicate` is specified, return only those also satisfying this `predicate`.
(editor-name entity application)
Return the path-part of the editor form for this entity
. Note:
assumes the editor form is the first form listed for the entity.
Return the path-part of the editor form for this `entity`. Note: assumes the editor form is the first form listed for the entity.
(element? o)
True if o
is a Clojure representation of an XML element.
True if `o` is a Clojure representation of an XML element.
(emit-header prefix & content)
Emit this content
as a sequence of wrapped lines each prefixed with
prefix
, and the whole delimited by rules.
Emit this `content` as a sequence of wrapped lines each prefixed with `prefix`, and the whole delimited by rules.
(entity-for-property property application)
If this property
references an entity, return that entity from this application
If this `property` references an entity, return that entity from this `application`
(entity? x)
Return true if x
is an ADL entity.
Return true if `x` is an ADL entity.
(find-permissions & elements)
Return appropriate the permissions of the first of these elements
which
has permissions.
Return appropriate the permissions of the first of these `elements` which has permissions.
(formal-primary-key? prop-or-name entity)
Does this prop-or-name
appear to be a property (or the name of a property)
which is a formal primary key of this entity?
Does this `prop-or-name` appear to be a property (or the name of a property) which is a formal primary key of this entity?
(insertable-properties entity)
Return all the properties of this entity
(including key properties) into
which user-supplied data can be inserted
Return all the properties of this `entity` (including key properties) into which user-supplied data can be inserted
(insertable? property)
Return true
it the value of this property
may be set from user-supplied data.
Return `true` it the value of this `property` may be set from user-supplied data.
(is-quotable-type? property application)
True if the value for this field should be quoted.
True if the value for this field should be quoted.
(link-related-query-name property nearside farside)
link is tricky. If there's exactly than one link between the two entities, we need to generate the same name from both ends of the link
link is tricky. If there's exactly than one link between the two entities, we need to generate the same name from both ends of the link
(link-table-name e1 e2)
(link-table-name property e1 e2)
Canonical name of a link table between entity e1
and entity e2
. However, there
may be different links between the same two tables with different semantics; if
property
is specified, and if more than one property in e1
links to e2
, generate
a more specific link name.
Canonical name of a link table between entity `e1` and entity `e2`. However, there may be different links between the same two tables with different semantics; if `property` is specified, and if more than one property in `e1` links to `e2`, generate a more specific link name.
(link-table? entity)
Return true if this entity
represents a link table.
Return true if this `entity` represents a link table.
(list-related-query-name property nearside farside)
Return the canonical name of the HugSQL query to return all records on
farside
which match a given record on nearside
, where nearide
and
farside
are both entities.
Return the canonical name of the HugSQL query to return all records on `farside` which match a given record on `nearside`, where `nearide` and `farside` are both entities.
(path-part form entity application)
Return the URL path part for this form
of this entity
within this application
.
Note that form
may be a Clojure XML representation of a form
, list
or page
ADL element, or may be one of the keywords :form
, :list
, :page
in which case the
first child of the entity
of the specified type will be used.
Return the URL path part for this `form` of this `entity` within this `application`. Note that `form` may be a Clojure XML representation of a `form`, `list` or `page` ADL element, or may be one of the keywords `:form`, `:list`, `:page` in which case the first child of the `entity` of the specified type will be used.
(permission-groups permissions predicate)
Return a list of names of groups to which this predicate
is true of
some permission taken from these permissions
, else nil.
Return a list of names of groups to which this `predicate` is true of some permission taken from these `permissions`, else nil.
(pretty-name element)
Return a version of the name of this element
(entity, field,
form, list, page, property) suitable for use in text visible to the user.
Return a version of the name of this `element` (entity, field, form, list, page, property) suitable for use in text visible to the user.
(prompt field-or-property form entity application)
Return an appropriate prompt for the given field-or-property
taken from this
form
of this entity
of this application
, in the context of the current
binding of *locale*
. TODO: something more sophisticated about i18n
Return an appropriate prompt for the given `field-or-property` taken from this `form` of this `entity` of this `application`, in the context of the current binding of `*locale*`. TODO: something more sophisticated about i18n
(properties entity)
Return all the properties of this entity
.
Return all the properties of this `entity`.
(property-for-field field entity)
Return the property within this entity
which matches this field
.
Return the property within this `entity` which matches this `field`.
(required-properties entity)
Return the properties of this entity
which are required and are not
system generated.
Return the properties of this `entity` which are required and are not system generated.
(safe-name o)
(safe-name o convention)
Return a safe name for the object o
, given the specified convention
.
o
is expected to be either a string or an element. Recognised values for
convention
are: #{:c :c-sharp :java :sql}
Return a safe name for the object `o`, given the specified `convention`. `o` is expected to be either a string or an element. Recognised values for `convention` are: #{:c :c-sharp :java :sql}
(singularise string)
Attempt to construct an idiomatic English-language singular of this string.
Attempt to construct an idiomatic English-language singular of this string.
(sort-by-name elements)
Sort these elements
by their :name
attribute.
Sort these `elements` by their `:name` attribute.
(system-generated? property)
True if the value of the property
is system generated, and
should not be set by the user.
True if the value of the `property` is system generated, and should not be set by the user.
(typedef property application)
If this property
is of type defined
, return its type definition from
this application
, else nil.
If this `property` is of type `defined`, return its type definition from this `application`, else nil.
(unique-link? e1 e2)
True if there is exactly one link between entities e1
and e2
.
True if there is exactly one link between entities `e1` and `e2`.
(user-distinct-properties entity)
Return the properties of this entity
which are user distinct
Return the properties of this `entity` which are user distinct
(user-distinct-property-names entity)
Return, as a set, the names of properties which are user distinct
Return, as a set, the names of properties which are user distinct
(visible-to permissions)
Return a list of names of groups to which are granted read access,
given these permissions
, else nil.
Return a list of names of groups to which are granted read access, given these `permissions`, else nil.
(volatility entity)
Return the cache ttl in seconds for records of this entity
.
Return the cache ttl in seconds for records of this `entity`.
(wrap-lines text)
(wrap-lines width text)
Wrap lines in this text
to this width
; return a list of lines.
Wrap lines in this `text` to this `width`; return a list of lines.
(writeable-by permissions)
(writeable-by permissions has-value?)
Return a list of names of groups to which are granted write access,
given these permissions
, else nil.
TODO: TOTHINKABOUT: properties are also writeable by insert
and noedit
, but only if the
current value is nil.
Return a list of names of groups to which are granted write access, given these `permissions`, else nil. TODO: TOTHINKABOUT: properties are also writeable by `insert` and `noedit`, but only if the current value is nil.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close