Changeset 32 for ruby/trunk/models/am


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

fixed Archetype::Constraint_Model and Primitive classes

Location:
ruby/trunk/models/am/archetype/constraint_model
Files:
2 edited

Legend:

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

    r23 r32  
    1919            @occurrences = args[:occurrences] if args[:occurrences]
    2020            @rm_type_name = args[:rm_type_name] if args[:rm_type_name]
     21          end
     22
     23          def self.create(args = { }, &block)
     24            c_object = new(args)
     25            if block_given?
     26              yield c_object
     27            end
     28            return c_object
    2129          end
    2230        end
     
    4452        class C_PRIMITIVE_OBJECT < C_DEFINED_OBJECT
    4553          attr_accessor :item
    46          
     54
    4755          def initialize(args = { })
    4856            @attributes = args[:item] if args[:item]
     
    5361        class C_COMPLEX_OBJECT < C_DEFINED_OBJECT
    5462          attr_accessor :attributes, :attributes_valid
    55          
     63
    5664          def initialize(args = { })
    5765            @attributes = args[:attributes] ? args[:attributes] : []
     
    7381
    7482        class C_REFERENCE_OBJECT < C_OBJECT
    75          
    7683        end
    7784
    7885        class ARCHETYPE_INTERNAL_REF < C_REFERENCE_OBJECT
    79          
     86          attr_accessor :target_path
    8087        end
    8188
    8289        class ARCHETYPE_SLOT < C_REFERENCE_OBJECT
    83          
     90          attr_accessor :includes, :excludes
     91
     92          def self.create(args = { }, &block)
     93            archetype_slot = new(args)
     94            archetype_slot.includes = args[:includes]
     95            archetype_slot.excludes = args[:excludes]
     96            if block_given?
     97              yield archetype_slot
     98            end
     99            return archetype_slot
     100          end
    84101        end
    85102
    86103        class CONSTRAINT_REF < C_REFERENCE_OBJECT
    87          
     104          attr_accessor :reference
     105
     106          def self.create(args = { }, &block)
     107            constraint_ref = new(args)
     108            constraint_ref.reference = args[:reference]
     109            if block_given?
     110              yield constraint_ref
     111            end
     112            return constraint_ref
     113          end
    88114        end
    89115
  • 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.