source: ruby/trunk/lib/models/rm/data_types/basic.rb@ 89

Last change on this file since 89 was 89, checked in by KOBAYASHI, Shinji, 16 years ago

refs #48,#52

File size: 2.2 KB
Line 
1# This module is implemented from this UML:
2# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109067591791_562382_3151Report.html
3# Ticket refs #52
4module OpenEHR
5 module RM
6 module Data_Types
7 module Basic
8 module Canonical_Fragment
9 end
10
11 class Data_Value
12 include OpenEHR::RM::Support::Definition::Basic_Definition
13 end
14
15 class DV_Boolean < Data_Value
16 def initialize(value)
17 check_not_nil(value)
18 if value == "TRUE" or value == true
19 @value = true
20 else
21 @value = false
22 end
23 end
24 def value=(value)
25 check_not_nil(value)
26 @value = value
27 end
28 def value?
29 @value == true
30 end
31 private
32 def check_not_nil(value)
33 if value == nil
34 raise ArgumentError, "value must not be empty"
35 end
36 end
37 end # end of DV_Boolean
38
39 class DV_State < Data_Value
40 attr_reader :value
41
42 def initialize(value, is_terminal)
43 self.value=value
44 self.is_terminal=is_terminal
45 end
46 def value=(v)
47 raise ArgumentError, "value should not be nil" if v.nil?
48 @value = v
49 end
50 def is_terminal?
51 @is_terminal
52 end
53 def is_terminal=(s)
54 raise ArgumentError, "terminal should not be nil" if s.nil?
55 @is_terminal = s
56 end
57 private
58 def value_validity?
59 @value.instance_of? OpenEHR::Data_Types::Text::DV_Coded_Text
60 end
61 end # end of DV_State
62
63 class DV_Identifier
64 attr_accessor :issuer, :assigner, :id, :type
65 def initialize(assigner, id, issuer, type)
66 if assigner == nil or id == nil or issuer == nil or type == nil
67 raise ArgumentError, "invalid argument"
68 end
69 @issuer = issuer
70 @assigner = assigner
71 @id = id
72 @type = type
73 end
74 end #end of DV_Identifier
75 end # end of Basic
76 end # end of Data_types
77 end # end of RM
78end # end of OpenEHR
Note: See TracBrowser for help on using the repository browser.