Class: PropertyFilter

$k. PropertyFilter

new $k.PropertyFilter(filterDescriptor)

Creates a new PropertyFilter. If the constructer is called as a function, it will construct a new filter, too.


The filter will be initialized from the optional filterDescriptor. The possible properties are:

type (Type or internal name)
abstract
attributes
exact
oneWayRelations
shortcutRelations
systemRelations
unconstrained
userRelations

Name Type Description
filterDescriptor object optional
Example

// Returns a filter that returns properties with internal name "contains"
$k.PropertyFilter({ exact: true, type: "contains" });

Filters the possible properties of an element or domain.

Methods

includeAbstract() : boolean

Returns true if abstract properties should be returned.
Default is false.

Returns:
Type Description
boolean

includeAttributes() : boolean

Returns true if attributes should be returned

Returns:
Type Description
boolean

includeOneWay() : boolean

Returns true if inverse one way relations should be returned.
Default is false.

Returns:
Type Description
boolean

includeShortcutRelations() : boolean

Returns true if shortcut relations should be returned.
Default is false.

Returns:
Type Description
boolean

includeSystemRelations() : boolean

Returns true if system relations should be returned.
Default is false.

Returns:
Type Description
boolean

includeUserRelations() : boolean

Returns true if user relations should be returned

Returns:
Type Description
boolean

isExact() : boolean

Returns true if only properties of the specified type should be returned,
false if also sub-properties should be included.
Default is false.

Returns:
Type Description
boolean

possiblePropertiesOf(object) : Array.<$k.PropertyType>

Returns the possible properties of the semantic element / domain

Name Type Description
object $k.SemanticElement

Semantic element or domain

Returns:
Type Description
Array.<$k.PropertyType>

propertiesOf(semanticElement) : Array.<$k.PropertyType>

Returns the properties of the semantic element

Name Type Description
semanticElement $k.SemanticElement
Returns:
Type Description
Array.<$k.PropertyType>

setAbstract(abstract) : $k.PropertyFilter

Defines if abstract properties are returned.

Name Type Description
abstract boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setAttributes(isExact) : $k.PropertyFilter

Defines if attributes should be returned.
Default is true

Name Type Description
isExact boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setExact(exact) : $k.PropertyFilter

Defines if only properties of the specified type should be returned, or also sub-properties.

Name Type Description
exact boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setOneWayRelations(oneWayRelations) : $k.PropertyFilter

Defines if inverse one way relations should be returned.

Name Type Description
oneWayRelations boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setShortcutRelations(shortcutRelations) : $k.PropertyFilter

Defines if shortcut relations should be returned.

Name Type Description
shortcutRelations boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setSystemRelations(systemRelations) : $k.PropertyFilter

Defines if shortcut relations should be returned.

Name Type Description
systemRelations boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setType(type) : $k.PropertyFilter

Defines the type / internal name of the properties

Name Type Description
type

Type or internal name

Returns:
Type Description
$k.PropertyFilter The filter

setUnconstrained(additionalOnly) : $k.PropertyFilter

Defines if properties should be returned that cannot be created due to cardinality constrains.
This setting only has an effect when quering the possible properties of a semantic element, not of a domain

Name Type Description
additionalOnly boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

setUserRelations(isExact) : $k.PropertyFilter

Defines if user relations should be returned.
Default is true

Name Type Description
isExact boolean

True if not defined

Returns:
Type Description
$k.PropertyFilter The filter

toPropertyFilter() : $k.PropertyFilter

Returns this filter.
To define custom property filters, define an object with a function toPropertyFilter().
If toPropertyFilter() does not return an object of kind $k.PropertyFilter, the object has to define the functions
propertiesOf() and possiblePropertiesOf()

Returns:
Type Description
$k.PropertyFilter

type() : string|$k.Type

Returns the type / internal name that should be used for filtering properties

Returns:
Type Description
string | $k.Type

unconstrained() : boolean

Returns true if properties should be returned that cannot be created due to cardinality constrains.
This setting only has an effect when quering the possible properties of a semantic element, not of a domain.
Default is false

Returns:
Type Description
boolean