Class: Operaton::Bpm::Engine::Variable::ValueType

Inherits:
Object
  • Object
show all
Defined in:
lib/operaton/bpm/engine/variable/value_type.rb,
lib/operaton/bpm/engine/variable/value_type.rb

Overview

Mirrors org.operaton.bpm.engine.variable.type.ValueType and its implementations, reduced to what the external task client needs.

Constant Summary collapse

VALUE_INFO_TRANSIENT =
"transient"
INTEGER_MIN =
-2**31
INTEGER_MAX =
2**31 - 1
LONG_MIN =
-2**63
LONG_MAX =
2**63 - 1
SHORT_MIN =
-2**15
SHORT_MAX =
2**15 - 1
NULL =
PrimitiveValueType.new("null") { |v| v.nil? }
BOOLEAN =
PrimitiveValueType.new("boolean") { |v| v == true || v == false }
STRING =
PrimitiveValueType.new("string") { |v| v.is_a?(String) }
DATE =
PrimitiveValueType.new("date") do |v|
  v.is_a?(Time) || (defined?(DateTime) && v.is_a?(DateTime)) || (defined?(::Date) && v.is_a?(::Date))
end
BYTES =
PrimitiveValueType.new("bytes") { |v| v.is_a?(String) }
INTEGER =
PrimitiveValueType.new("integer") { |v| v.is_a?(Integer) && v.between?(INTEGER_MIN, INTEGER_MAX) }
LONG =
PrimitiveValueType.new("long") { |v| v.is_a?(Integer) && v.between?(LONG_MIN, LONG_MAX) }
SHORT =
PrimitiveValueType.new("short") { |v| v.is_a?(Integer) && v.between?(SHORT_MIN, SHORT_MAX) }
DOUBLE =
PrimitiveValueType.new("double") { |v| v.is_a?(Float) }
NUMBER =
NumberValueType.new("number") { |v| v.is_a?(Numeric) }
OBJECT =
ObjectValueType.new
FILE =
FileValueType.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ValueType

Returns a new instance of ValueType.



12
13
14
# File 'lib/operaton/bpm/engine/variable/value_type.rb', line 12

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



10
11
12
# File 'lib/operaton/bpm/engine/variable/value_type.rb', line 10

def name
  @name
end

Instance Method Details

#abstract?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/operaton/bpm/engine/variable/value_type.rb', line 20

def abstract?
  false
end

#primitive_value_type?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/operaton/bpm/engine/variable/value_type.rb', line 16

def primitive_value_type?
  false
end

#to_sObject



31
32
33
# File 'lib/operaton/bpm/engine/variable/value_type.rb', line 31

def to_s
  name
end

#value_info(typed_value) ⇒ Object

Mirrors ValueType#getValueInfo(TypedValue)



25
26
27
28
29
# File 'lib/operaton/bpm/engine/variable/value_type.rb', line 25

def value_info(typed_value)
  info = {}
  info[VALUE_INFO_TRANSIENT] = true if typed_value.transient?
  info
end