Class: Sbuilder::DomainRange

Inherits:
Domain
  • Object
show all
Includes:
Utils::MyLogger
Defined in:
lib/sbuilder/domain_range.rb

Constant Summary collapse

PROGNAME =

progname for logger default class name

nil

Constants included from Utils::MyLogger

Utils::MyLogger::LOGFILE

Instance Attribute Summary collapse

Attributes inherited from Domain

#extension, #name

Constructor & configure collapse

Override from base class collapse

Methods included from Utils::MyLogger

#getLogger, #logfile

Methods inherited from Domain

#domain_values, #nilValue, #numberOfElements, #render_entry, #setExtension, #setName, #tlaBaseType, #to_s

Constructor Details

#initialize(options = {}) ⇒ DomainRange



19
20
21
22
23
24
# File 'lib/sbuilder/domain_range.rb', line 19

def initialize( options = {} )
  super( options )
  @logger = getLogger( PROGNAME, options )
  @logger.debug( "#{__method__} initialized" )
  
end

Instance Attribute Details

#rangeEndObject (readonly)



12
13
14
# File 'lib/sbuilder/domain_range.rb', line 12

def rangeEnd
  @rangeEnd
end

#rangeStartObject (readonly)



9
10
11
# File 'lib/sbuilder/domain_range.rb', line 9

def rangeStart
  @rangeStart
end

Instance Method Details

#cardinalityInteger



50
51
52
# File 'lib/sbuilder/domain_range.rb', line 50

def cardinality
  rangeEnd - rangeStart + 1
end

#domain_entry(i) ⇒ rangeStart



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/sbuilder/domain_range.rb', line 56

def domain_entry( i )
  
  # Convert to integer - if possible
  i = Integer(i ) unless i.is_a?( Integer )

  # Valid range index?
  if i<rangeStart || i>rangeEnd
    msg = "      Error in domain range \#{i} \n\n      Valid domain index: \#{rangeStart}..\#{rangeEnd}\n      EOS\n    @logger.error \"\#{__method__}: \#{msg}\"\n    raise DomainException, msg\n  end\n\n  i\nend\n"

#domain_rangeObject

Range overrides default implementation for ‘domain’, and return valid index for ‘domain_entry’.

(maybe extentended) domain



91
92
93
# File 'lib/sbuilder/domain_range.rb', line 91

def domain_range
  rangeStart..rangeEnd
end

#includeNilBoolean

Range does not include Nil in domain set.



45
46
47
# File 'lib/sbuilder/domain_range.rb', line 45

def includeNil
  false
end

#render_valuesArray



81
82
83
# File 'lib/sbuilder/domain_range.rb', line 81

def render_values
  (rangeStart..rangeEnd).to_a
end

#setRange(rangeStart, rangeEnd) ⇒ Object

Set domain rangeStart .. rangeEnd



31
32
33
34
# File 'lib/sbuilder/domain_range.rb', line 31

def setRange( rangeStart, rangeEnd )
  @rangeStart = rangeStart
  @rangeEnd = rangeEnd
end

#stringize(val) ⇒ val



76
77
78
# File 'lib/sbuilder/domain_range.rb', line 76

def stringize( val )
  val
end