class Pione::PNML::Data

‘DataCondition` is a class represents PIONE’s input and output data condition.

Attributes

data_expr[R]
input_distribution[RW]
input_nonexistable[RW]
output_distribution[RW]
output_for_this_flow[RW]
output_nonexistable[RW]
priority[RW]

Public Class Methods

new(node) click to toggle source

@param nod [PNML::Node]

data expression as a PIONE's expression string
# File lib/pione/pnml/pione-model.rb, line 560
def initialize(node)
  @name = LabelExtractor.extract_data_expr(node.name)
  @priority = LabelExtractor.extract_priority(node.name)
end

Private Instance Methods

textize_data_expr(type) click to toggle source
# File lib/pione/pnml/pione-model.rb, line 567
def textize_data_expr(type)
  data_expr = "%s" % @name
  if (type == :input and @input_nonexistable) or (type == :output and @output_nonexistable)
    data_expr = data_expr + " or null"
  end
  if type == :input and @input_distribution
    data_expr = "(%s).%s" % [data_expr, @input_distribution]
  end
  if type == :output and @output_distribution
    data_expr = "(%s).%s" % [data_expr, @output_distribution]
  end
  return data_expr
end