Ignore:
Timestamp:
May 6, 2008, 12:18:06 AM (16 years ago)
Author:
Tatsukawa, Akimichi
Message:

fixed Archetype::Constraint_Model and Primitive classes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/models/am/archetype/constraint_model/primitive.rb

    r26 r32  
    77
    88          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
    924            def assumed_value
    1025              raise NotImplementedError, "assumed_value should be implemented"
    1126            end
     27
    1228            def default_value
    1329              raise NotImplementedError, "assumed_value should be implemented"
    1430            end
     31
    1532            def has_assumed_value?
    1633              assumed_value != nil
    1734            end
     35
    1836            def valid_value?
    1937              raise NotImplementedError, "valid_value? should be implemented"
     
    5068              else
    5169                (a_value && @true_valid) || (!a_value && @false_valid)
    52               end             
     70              end
    5371            end
    5472
     
    5876              if !true_valid && !false_valid
    5977                raise ArgumentError, "Either true_valid or false_valid must be true"
    60               end             
     78              end
    6179            end
    6280          end # of C_Boolean
    6381
    6482          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
    6688          end
    6789
    6890          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
    70105          end
    71106
    72107          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
    74113          end
    75114
    76115          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
    78120          end
    79121
    80122          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
    82127          end
    83128
    84129          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
    86134          end
    87135
    88136          class C_DURATION < C_PRIMITIVE
    89137            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
    90142          end
    91143
Note: See TracChangeset for help on using the changeset viewer.