Ignore:
Timestamp:
Jan 25, 2010, 12:03:38 PM (14 years ago)
Author:
KOBAYASHI, Shinji
Message:

refs #71

File:
1 edited

Legend:

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

    r398 r399  
    175175
    176176          class CTime < CPrimitive
    177 
     177            attr_accessor :range
     178            attr_reader :minute_validity, :second_validity,
     179                        :millisecond_validity
     180
     181            def initialize(args = { })
     182              super
     183              self.range = args[:range]
     184              self.millisecond_validity = args[:millisecond_validity]
     185              self.second_validity = args[:second_validity]
     186              self.minute_validity = args[:minute_validity]
     187            end
     188
     189            def minute_validity=(minute_validity)
     190              if (minute_validity == ValidityKind::OPTIONAL &&
     191                  @second_validity == ValidityKind::MANDATORY) ||
     192                  (minute_validity == ValidityKind::DISALLOWED &&
     193                   @second_validity != ValidityKind::DISALLOWED)
     194                raise ArgumentError, 'minute_validity is invalid'
     195              end
     196              @minute_validity = minute_validity
     197            end
     198
     199            def second_validity=(second_validity)
     200              if (second_validity == ValidityKind::OPTIONAL &&
     201                  @millisecond_validity == ValidityKind::MANDATORY) ||
     202                  (second_validity == ValidityKind::DISALLOWED &&
     203                   @millisecond_validity != ValidityKind::DISALLOWED)
     204                raise ArgumentError, 'second_validity is invalid'
     205              end
     206              @second_validity = second_validity
     207            end
     208
     209            def millisecond_validity=(millisecond_validity)
     210              @millisecond_validity = millisecond_validity
     211            end
     212
     213            def validity_is_range?
     214              return !@range.nil?
     215            end
    178216          end
    179217        end # of Primitive
Note: See TracChangeset for help on using the changeset viewer.