pip_services3_expressions.variants package

Submodules

Module contents

class pip_services3_expressions.variants.AbstractVariantOperations

Bases: pip_services3_expressions.variants.IVariantOperations.IVariantOperations, abc.ABC

Implements an abstract variant operations manager object.

add(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘+’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

and_(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs AND operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

abstract convert(value: pip_services3_expressions.variants.Variant.Variant, new_type: pip_services3_expressions.variants.VariantType.VariantType)pip_services3_expressions.variants.Variant.Variant

Converts variant to specified type

Parameters
  • value – A variant value to be converted.

  • new_type – A type of object to be returned.

Returns

A converted Variant value.

div(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘/’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘=’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

get_element(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs [] operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

in_(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs IN operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

less(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

less_equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<=’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

lsh(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<<’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

mod(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘%’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

more(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘>’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

more_equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘>=’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

mul(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘*’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

negative(value: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs unary ‘-’ operation for a variant.

Parameters

value – The operand for this operation.

Returns

A result variant object.

not_(value: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs NOT operation for a variant.

Parameters

value – The operand for this operation.

Returns

A result variant object.

not_equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<>’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

or_(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs OR operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

pow(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘^’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

rsh(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘>>’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

sub(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘-’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

xor(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs XOR operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

class pip_services3_expressions.variants.IVariantOperations

Bases: abc.ABC

Defines an interface for variant operations manager.

add(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘+’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

and_(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs AND operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

convert(value: pip_services3_expressions.variants.Variant.Variant, new_type: pip_services3_expressions.variants.VariantType.VariantType)pip_services3_expressions.variants.Variant.Variant

Converts variant to specified type

Parameters
  • value – A variant value to be converted.

  • new_type – A type of object to be returned.

Returns

A converted Variant value.

div(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘/’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘=’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

get_element(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs [] operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

in_(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs IN operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

less(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘>’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

less_equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘>=’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

lsh(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs << operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

mod(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘%’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

more(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

more_equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<=’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

mul(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘*’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

negative(value: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs unary ‘-’ operation for a variant.

Parameters

value – The operand for this operation.

Returns

A result variant object.

not_(value: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs NOT operation for two variants.

Parameters

value – The operand for this operation.

Returns

A result variant object.

not_equal(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘<>’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

or_(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs OR operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

pow(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘^’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

rsh(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs >> operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

sub(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs ‘-’ operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

xor(value1: pip_services3_expressions.variants.Variant.Variant, value2: pip_services3_expressions.variants.Variant.Variant)pip_services3_expressions.variants.Variant.Variant

Performs XOR operation for two variants.

Parameters
  • value1 – The first operand for this operation.

  • value2 – The second operand for this operation.

Returns

A result variant object.

class pip_services3_expressions.variants.TypeSafeVariantOperations

Bases: pip_services3_expressions.variants.AbstractVariantOperations.AbstractVariantOperations

Implements a strongly typed (type safe) variant operations manager object.

convert(value: pip_services3_expressions.variants.Variant.Variant, new_type: pip_services3_expressions.variants.VariantType.VariantType)pip_services3_expressions.variants.Variant.Variant

Converts variant to specified type

Parameters
  • value – A variant value to be converted.

  • new_type – A type of object to be returned.

Returns

A converted Variant value.

class pip_services3_expressions.variants.TypeUnsafeVariantOperations

Bases: pip_services3_expressions.variants.AbstractVariantOperations.AbstractVariantOperations

Implements a type unsafe variant operations manager object.

convert(value: pip_services3_expressions.variants.Variant.Variant, new_type: pip_services3_expressions.variants.VariantType.VariantType)pip_services3_expressions.variants.Variant.Variant

Converts variant to specified type

Parameters
  • value – A variant value to be converted.

  • new_type – A type of object to be returned.

Returns

A converted Variant value.

class pip_services3_expressions.variants.TypeUnsafeVariantOperations

Bases: pip_services3_expressions.variants.AbstractVariantOperations.AbstractVariantOperations

Implements a type unsafe variant operations manager object.

convert(value: pip_services3_expressions.variants.Variant.Variant, new_type: pip_services3_expressions.variants.VariantType.VariantType)pip_services3_expressions.variants.Variant.Variant

Converts variant to specified type

Parameters
  • value – A variant value to be converted.

  • new_type – A type of object to be returned.

Returns

A converted Variant value.

class pip_services3_expressions.variants.Variant(value: Any = None)

Bases: object

Defines container for variant values.

static Empty()pip_services3_expressions.variants.Variant.Variant
property as_array

Gets variant value as variant array

property as_boolean

Gets variant value as boolean

property as_datetime

Gets variant value as datetime

property as_double

Gets variant value as double

property as_float

Gets variant value as float

property as_integer

Sets variant value as integer

property as_long

Gets variant value as long

Returns

number value

property as_object

Gets variant value as Object

property as_string

Gets variant value as string

property as_time_span

Gets variant value as time span

assign(value: pip_services3_expressions.variants.Variant.Variant)

Assigns a new value to this object.

Parameters

value – A new value to be assigned.

clear()

Clears this object and assigns a VariantType.Null type.

clone()pip_services3_expressions.variants.Variant.Variant

Cloning the variant value

Returns

The cloned value of this variant

equals(obj: Any)bool

Compares this object to the specified one.

Parameters

obj – An object to be compared.

Returns

True if objects are equal.

static from_array(value: Iterable)

Creates a new variant from Array value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_boolean(value: bool)

Creates a new variant from Boolean value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_datetime(value: datetime.datetime)

Creates a new variant from DateTime value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_double(value: float)

Creates a new variant from Double value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_float(value: float)

Creates a new variant from Float value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_integer(value: int)

Creates a new variant from Integer value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_long(value: int)

Creates a new variant from Long value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_object(value: Any)

Creates a new variant from Object value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_string(value: str)

Creates a new variant from String value.

Parameters

value – a variant value.

Returns

a created variant object.

static from_time_span(value: int)

Creates a new variant from TimeSpan value.

Parameters

value – a variant value.

Returns

a created variant object.

get_by_index(index: int)

Gets an array element by its index.

Parameters

index – an element index

Returns

a requested array element

is_empty()bool

Checks is this variant value empty.

Returns

True is this variant value is empty.

is_null()bool

Checks is this variant value Null.

Returns

True if this variant value is Null.

property length

Gets length of the array

Returns

The length of the array or 0

set_by_index(index: int, element: pip_services3_expressions.variants.Variant.Variant)

Sets an array element by its index.

Parameters
  • index – an element index

  • element – an element value

to_string()str

Returns a string value for this object.

Returns

a string value for this object.

property type

Gets a type of the variant value

Returns

the variant value type

class pip_services3_expressions.variants.VariantType(value)

Bases: enum.Enum

Defines supported types of variant values.

Array = 10
Boolean = 6
DateTime = 7
Double = 4
Float = 3
Integer = 1
Long = 2
Null = (0,)
Object = 9
String = 5
TimeSpan = 8