- Timestamp:
- May 6, 2008, 12:18:06 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ruby/trunk/models/am/archetype/constraint_model/primitive.rb
r26 r32 7 7 8 8 class C_PRIMITIVE 9 10 def initialize 11 raise "abstract class" 12 end 13 14 def self.create(args = {}) 15 instance = new(args) 16 17 if block_given? 18 yield instance 19 end 20 return instance 21 end 22 23 9 24 def assumed_value 10 25 raise NotImplementedError, "assumed_value should be implemented" 11 26 end 27 12 28 def default_value 13 29 raise NotImplementedError, "assumed_value should be implemented" 14 30 end 31 15 32 def has_assumed_value? 16 33 assumed_value != nil 17 34 end 35 18 36 def valid_value? 19 37 raise NotImplementedError, "valid_value? should be implemented" … … 50 68 else 51 69 (a_value && @true_valid) || (!a_value && @false_valid) 52 end 70 end 53 71 end 54 72 … … 58 76 if !true_valid && !false_valid 59 77 raise ArgumentError, "Either true_valid or false_valid must be true" 60 end 78 end 61 79 end 62 80 end # of C_Boolean 63 81 64 82 class C_STRING < C_PRIMITIVE 65 83 attr_accessor :list, :assumed_value, :list_open, :pattern 84 85 def initialize(args = { }) 86 @list, @assumed_value, @list_open, @pattern = args[:list], args[:assumed_value], args[:list_open], args[:pattern] 87 end 66 88 end 67 89 68 90 class C_INTEGER < C_PRIMITIVE 69 91 attr_accessor :list, :range, :assumed_value 92 93 def initialize(args = { }) 94 @list, @range, @assumed_value = args[:list], args[:range], args[:assumed_value] 95 end 96 97 def self.create(args = {}) 98 c_primitive = new(args) 99 100 if block_given? 101 yield c_primitive 102 end 103 return c_primitive 104 end 70 105 end 71 106 72 107 class C_REAL < C_PRIMITIVE 73 108 attr_accessor :list, :range, :assumed_value 109 110 def initialize(args = { }) 111 @list, @range, @assumed_value = args[:list], args[:range], args[:assumed_value] 112 end 74 113 end 75 114 76 115 class C_TIME < C_PRIMITIVE 77 116 attr_accessor :assumed_value, :milli_second_validity, :minute_validity, :range, :second_validity, :timezone_validity 117 def initialize(args = { }) 118 @assumed_value, @milli_second_validity, @minute_validity, @month_validity, @range, @second_validity, @timezone_validity = args[:assumed_value], args[:milli_second_validity], args[:minute_validity], args[:range], args[:second_validity], args[:timezone_validity] 119 end 78 120 end 79 121 80 122 class C_DATE < C_PRIMITIVE 81 123 attr_accessor :assumed_value, :day_validity, :hour_validity, :month_validity, :range, :timezone_validity 124 def initialize(args = { }) 125 @assumed_value, @day_validity, @hour_validity, @month_validity, @range, @timezone_validity = args[:assumed_value], args[:day_validity], args[:hour_validity], args[:month_validity], args[:range], args[:timezone_validity] 126 end 82 127 end 83 128 84 129 class C_DATE_TIME < C_PRIMITIVE 85 130 attr_accessor :assumed_value, :day_validity, :hour_validity, :milli_second_validity, :minute_validity, :month_validity, :range, :second_validity, :timezone_validity 131 def initialize(args = { }) 132 @assumed_value, @day_validity, @hour_validity, @milli_second_validity, @minute_validity, @month_validity, @range, @second_validity, @timezone_validity = args[:assumed_value], args[:day_validity], args[:hour_validity], args[:milli_second_validity], args[:minute_validity], args[:month_validity], args[:range], args[:second_validity], args[:timezone_validity] 133 end 86 134 end 87 135 88 136 class C_DURATION < C_PRIMITIVE 89 137 attr_accessor :years_allowed, :months_allowed, :weeks_allowed, :days_allowed, :hours_allowed, :minutes_allowed, :seconds_allowed, :fractional_seconds_allowed, :range, :assumed_value 138 139 def initialize(args = { }) 140 @years_allowed, @months_allowed, @weeks_allowed, @days_allowed, @hours_allowed, @minutes_allowed, @seconds_allowed, @fractional_seconds_allowed, @range, @assumed_value = args[:years_allowed], args[:months_allowed], args[:weeks_allowed], args[:days_allowed], args[:hours_allowed], args[:minutes_allowed], args[:seconds_allowed], args[:fractional_seconds_allowed], args[:range], args[:assumed_value] 141 end 90 142 end 91 143
Note:
See TracChangeset
for help on using the changeset viewer.