This is the base class for Location criterions.
Properties¶
                
        $operator
            ¶
    
        The operator used by the Criterion.
| 
                     | 
                
                    
                     | 
            
                
        $target
            ¶
    
        The target used by the criteria (field, metadata...).
| 
                     | 
                
                    
                     | 
            
                
        $value
            ¶
    
        The value(s) matched by the criteria.
| 
                     | 
                
                    
                     | 
            
                
        $valueData
            ¶
    
        Additional value data, required by some criterions, MapLocationDistance for instance.
| 
                     | 
                
                    
                     | 
            
Methods¶
                
__construct()
            ¶
    
        Creates a Criterion.
| 
                     | 
                
                    
                     | 
            
Performs operator validation based on the Criterion specifications returned by Criterion::getSpecifications().
Parameters
| Name | Type | Default value | Description | 
|---|---|---|---|
| $target | string|null | - | 
                                                         The target the Criterion applies to: metadata identifier, field identifier...  | 
                
| $operator | string|null | - | 
                                                         The operator the Criterion uses. If null is given, will default to Operator::IN if $value is an array, Operator::EQ if it isn't.  | 
                
| $value | array<int, scalar>|scalar | - | - | 
| $valueData | Value|null | null | - | 
Tags
                
getSpecifications()
            ¶
    
        Criterion description function.
| 
                     | 
                
                    
                     | 
            
Returns the combination of the Criterion's supported operator/value, as an array of Specifications objects
- Specifications::$operator is a supported Operator constant.
 - Specifications::$valueFormat is the type of input value this operator requires, either array (Specifications::FORMAT_ARRAY) or single (Specifications::FORMAT_SINGLE).
 - Specifications::$valueTypes are bitwise flags of types the operator will accept (Specifications::TYPE_BOOLEAN, Specifications::TYPE_INTEGER, and/or Specifications::TYPE_STRING).
 - Specifications::$valueCount is an integer saying how many values are expected.
 
// IN and EQ are supported
return [
    // The EQ operator expects a single value, either as an integer or a string
    new Specifications(
        Operator::EQ,
        Specifications::FORMAT_SINGLE,
        Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
    ),
    // The IN operator expects an array of values, of either integers or strings
    new Specifications(
        Operator::IN,
        Specifications::FORMAT_ARRAY,
        Specifications::TYPE_INTEGER | Specifications::TYPE_STRING
    )
]
    Return values
array<int, Specifications>