new $k.StructuredQuery(domains)
Constructs structured query
| Name | Type | Description | 
|---|---|---|
domains | 
            
            
            $k.Domain | 
                
                    
                        optional
                    
                    
                        
                    
                
                 The domain or internal name of a type  | 
        
- Since:
 - 4.1.0 Represents a structured query
 
Extends
Methods
addAlternativeGroup() : $k.AlternativeGroupCondition
Add an empty alternative condition group (OR group)
- Since:
 - 4.2.0
 
Returns:
| Type | Description | 
|---|---|
| $k.AlternativeGroupCondition | 
addAttribute(type) : $k.HasAttributeCondition
Add an empty attribute condition without value/cardinality conditions
| Name | Type | Description | 
|---|---|---|
type | 
            
            
            
                
                 AttributeType or internal name  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.ObjectNotFound | If the attribute cannot be found  | 
            
| $k.exception.TypeError | If the type is not an attribute type  | 
            
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
| Type | Description | 
|---|---|
| $k.HasAttributeCondition | 
addAttributeValue(type, parameter, operator, defaultValue) : $k.AttributeValueCondition
Add an attribute value condition
| Name | Type | Description | 
|---|---|---|
type | 
            
            
            
                
                    
                    
                        
                    
                
                 AttributeType or internal name  | 
        |
parameter | 
            
            
            
                
                    
                        optional
                    
                    
                        
                    
                
                 Parameter name of the value  | 
        |
operator | 
            
            
            string | 
                
                    
                        optional
                    
                    
                        
                    
                
                 Name of operator  | 
        
defaultValue | 
            
            
            
                
                    
                        optional
                    
                    
                        
                    
                
                 Default value if no parameter is specified  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.ObjectNotFound | If the attribute cannot be found  | 
            
| $k.exception.TypeError | If the type is not an attribute type  | 
            
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
| Type | Description | 
|---|---|
| $k.AttributeValueCondition | 
addCardinality(type, cardinality, operator)
Add a cardinality condition
| Name | Type | Description | 
|---|---|---|
type | 
            
            
            
                
                    
                    
                        
                    
                
                 AttributeType or internal name  | 
        |
cardinality | 
            
            
            number | 
                
                    
                    
                        
                    
                
                 Cardinality. Must be an integer >= 0.  | 
        
operator | 
            
            
            string | 
                
                    
                        optional
                    
                    
                        
                    
                
                 Name of cardinality operator. "Equal cardinality" if not specified  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.ObjectNotFound | If the type cannot be found  | 
            
| $k.exception.TypeError | If the type is not a property type  | 
            
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
HasAttribute or HasRelation conditionaddElementsFilter(parameter) : $k.ElementsCondition
Add an element condition. Only elements from the list / parameter are returned.
| Name | Type | Description | 
|---|---|---|
parameter | 
            
            
            
                
                 Element or array of elements or the name of a parameter to use its value  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.TypeError | If neither elements or a parameter was passed  | 
            
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
| Type | Description | 
|---|---|
| $k.ElementsCondition | 
addHandle(parameter) : Condition
Add a handle
| Name | Type | Description | 
|---|---|---|
parameter | 
            
            
            string | 
- Version:
 - Experimental feature, might be removed at any time
 
- Since:
 - 4.1.0
 
Returns:
| Type | Description | 
|---|---|
| Condition | 
addQueryReference(query, operator) : QueryReferenceCondition
References another query that selects elements of this query according to the operator. If $k.Operator.EQUAL or NOT_EQUAL are selected, then the reference works in both directions. If $k.Operator.FILTER is selected, then the subquery is only applied to this query.
| Name | Type | Description | 
|---|---|---|
query | 
            
            
            
                
                    
                        optional
                    
                    
                        
                    
                
                 Referenced query. A new empty query will be referenced if not defined  | 
        |
operator | 
            
            
            string | 
                
                    
                        optional
                    
                    
                        
                    
                
                 An operator that defines how the subquery is applied. One of $k.Operator.EQUAL, NOT_EQUAL, FILTER. Default is FILTER  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
| Type | Description | 
|---|---|
| QueryReferenceCondition | Condition for the subquery | 
addRelation(type) : $k.HasRelationCondition
Add an empty relation condition without target/cardinality conditions
| Name | Type | Description | 
|---|---|---|
type | 
            
            
            
                
                 RelationType or internal name  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.ObjectNotFound | If the relation cannot be found  | 
            
| $k.exception.TypeError | If the type is not an relation type  | 
            
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
| Type | Description | 
|---|---|
| $k.HasRelationCondition | 
addRelationTarget(type, targetQuery) : $k.RelationTargetCondition
Add a relation target condition
| Name | Type | Description | 
|---|---|---|
type | 
            
            
            
                
                    
                    
                        
                    
                
                 RelationType or internal name  | 
        |
targetQuery | 
            
            
            
                
                    
                        optional
                    
                    
                        
                    
                
                 Target query. If not specified an empty subquery will be build  | 
        
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.ObjectNotFound | If the relation cannot be found  | 
            
| $k.exception.TypeError | If the type is not an relation type  | 
            
| $k.exception.QueryError | If the condition is not valid  | 
            
Returns:
| Type | Description | 
|---|---|
| $k.RelationTargetCondition | Condition for the relation target | 
clone() : $k.StructuredQuery
Returns a copy of the query. The copy can be modified.
- Since:
 - 4.1.0
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.QueryError | If the query cannot be cloned  | 
            
Returns:
| Type | Description | 
|---|---|
| $k.StructuredQuery | 
conditions() : Array.<QueryConditon>
Returns the conditions of the query
- Since:
 - 4.1.0
 
Returns:
| Type | Description | 
|---|---|
| Array.<QueryConditon> | 
domains() : Array.<$k.Domain>
Returns the domains of the query
- Since:
 - 4.1.0
 
Returns:
| Type | Description | 
|---|---|
| Array.<$k.Domain> | 
inheritance() : boolean
Returns true if elements of subdomains should be returned
- Since:
 - 4.1.0
 
Returns:
| Type | Description | 
|---|---|
| boolean | 
inverseConditions() : Array.<QueryConditon>
Returns the conditions pointing to this query
- Since:
 - 4.1.0
 
Returns:
| Type | Description | 
|---|---|
| Array.<QueryConditon> | 
setAlternatives(conditions)
Set the conditions as alternatives (OR group). If <= 1 conditions are passed this will be a no-op.
| Name | Type | Description | 
|---|---|---|
conditions | 
            
            
            Array.<QueryCondition> | 
                
                 Conditions of this query that should be alternatives  | 
        
- Since:
 - 4.1.0
 
- Deprecated
 - Use 
addAlternativeGroup()instead 
- Use 
 
Throws:
| Type | Description | 
|---|---|
| $k.exception.QueryError | If the conditions cannot be alternatives of this query  | 
            
| $k.exception.TypeError | 
setInheritance(useInheritance)
Set to false if elements of subdomains should not be returned
| Name | Type | Description | 
|---|---|---|
useInheritance | 
            
            
            boolean | 
- Since:
 - 4.1.0