Changeset 220 for ruby/branches/0.5/lib


Ignore:
Timestamp:
Aug 20, 2009, 10:49:33 PM (15 years ago)
Author:
KOBAYASHI, Shinji
Message:

DvText modified

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ruby/branches/0.5/lib/open_ehr/rm/data_types/text.rb

    r216 r220  
    22# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067605961_209522_3179Report.html
    33# Ticket refs #48
     4include OpenEHR::RM::DataTypes::Basic
     5
    46module OpenEHR
    57  module RM
     
    6365
    6466        class DvText < OpenEHR::RM::DataTypes::Basic::DataValue
    65           attr_reader :value, :formatting, :hyperlink, :mappings
    66           attr_reader :language, :encoding
    67           def initialize(value, formatting = nil, hyperlink = nil,
    68                          mappings = nil, language = nil, encoding = nil)
    69             value_valid(value)
    70             DvText.formatting_valid(formatting)
    71             DvText.encoding_valid(encoding)
    72             DvText.mapping_valid(mappings)
    73             DvText.language_valid(language)
    74             @value, @formatting, @encoding = value, formatting, encoding
    75             @mappings, @language = mappings, language
     67          attr_reader :formatting, :hyperlink, :mappings,
     68                      :language, :encoding
     69
     70          def initialize(args = {})
     71            super(args)
     72            self.formatting = args[:formatting]
     73            self.encoding = args[:encoding]
     74            self.mappings = args[:mappings]
     75            self.language = args[:language]
    7676          end
     77
    7778          def value=(value)
    78             value_valid(value)
     79            if value.nil? or value.empty? or
     80                value.include? CR or value.include? LF
     81              raise ArgumentError, "value is not valid"
     82              # CR and LF are defined in Basic_Definition inherited DataValue.
     83            end
    7984            @value = value
    8085          end
     86
    8187          def formatting=(formatting)
    82             DvText.formatting_valid(formatting)
     88            unless formatting.nil? or formatting.empty?
     89              raise ArgumentError, "formatting is not valid"
     90            end
    8391            @formatting = formatting
    8492          end
     93
    8594          def encoding=(encoding)
    86             DvText.encoding_valid(encoding)
     95            unless encoding.nil? or encoding.empty?
     96              raise ArgumentError, "encoding is not valid"
     97            end
    8798            @encoding = encoding
    8899          end
    89100          def mappings=(mappings)
    90             DvText.mapping_valid(mappings)
     101            if !mappings.nil? and !mappings.instance_of? Set
     102              raise ArgumentError, "mapping(s) is(are) not valid"
     103            elsif !mappings.nil? and mappings.instance_of? Set and
     104                mappings.empty?
     105              raise ArgumentError, "mapping(s) is(are) not valid"
     106            end
    91107            @mappings = mappings
    92108          end
    93109          def language=(language)
    94             DvText.language_valid(language)
     110            unless language.nil? or language.empty?
     111              raise ArgumentError, "langage is not valid"
     112            end
    95113            @language = language
    96114          end
    97           private
    98           def value_valid(value)
    99             if value.nil? or value.empty? or value.include? CR or value.include? LF
    100               raise ArgumentError, "value is not valid"
    101               # CR and LF are defined in Basic_Definition inherited DataValue.
    102             end
    103           end
    104 
    105           class << self
    106 
    107             def formatting_valid(formatting)
    108               raise ArgumentError, "formatting is not valid" if formatting != nil and formatting.empty?
    109             end
    110 
    111             def encoding_valid(encoding)
    112               raise ArgumentError, "encoding is not valid" if encoding != nil and encoding.empty?
    113             end
    114 
    115             def mapping_valid(mapping)
    116               if !mapping.nil? and !mapping.instance_of? Set
    117                 raise ArgumentError, "mapping(s) is(are) not valid"
    118               elsif !mapping.nil? and mapping.instance_of? Set
    119                 raise ArgumentError, "mapping(s) is(are) not valid" if mapping.empty?
    120               end
    121             end
    122 
    123             def language_valid(language)
    124               raise ArgumentError, "langage is not valid" if language != nil and language.empty?
    125             end
    126           end
    127 
    128115        end
    129116
     
    131118          attr_reader :defining_code
    132119
    133           def initialize(value, defining_code, formatting = nil,
    134                          hyperlink = nil, mappings = nil, language = nil,
    135                          encoding = nil)
    136             super(value, formatting, hyperlink, mappings, language, encoding)
    137             self.defining_code = defining_code
     120          def initialize(args = {})
     121            super(args)
     122            self.defining_code = args[:defining_code]
    138123          end
    139124
    140125          def defining_code=(defining_code)
    141126            if defining_code.nil?
    142               raise ArgumentError, "Defiinition must be exist"
     127              raise ArgumentError, 'defiining code is mandatory'
    143128            end
    144129            @defining_code = defining_code
Note: See TracChangeset for help on using the changeset viewer.