source: ruby/trunk/lib/models/rm/support/identification.rb@ 90

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

refs #38, #39, #48

File size: 1.5 KB
RevLine 
[90]1# This module is an implementation of this UML:
2# http://www.openehr.org/uml/release-1.0.1/Browsable/_9_0_76d0249_1109331021343_528780_2066Report.html
3# Ticket refs #39
[4]4module OpenEHR
5 module RM
6 module Support
[26]7 module Identification
8
[90]9 class Object_ID
10 attr_reader :value
[26]11
[90]12 def initialize(value)
13 self.value=value
[4]14 end
[90]15
16 def value=(value)
17 raise "empty value" if value.nil? or value.empty?
18 @value = value
19 end
[4]20 end # of ObjectID
[90]21
22 class Archetype_ID < Object_ID
[26]23 end
24
[90]25 class Terminology_ID < Object_ID
[4]26 attr_reader :name
[26]27
28 def initialize(name , version_id)
29 @name , @version_id = name , version_id
[4]30 end
[26]31
[4]32 def setValue(value)
33 loadValue(value)
34 super.value = value
35 end
[26]36
[4]37 def version_id
38 @version
39 end
[26]40
[4]41 private
[26]42
[4]43 def loadValue(value)
44 if /\(.*\)$/ =~ value
[26]45# @name, @version = value.split(\())
[4]46 @version.chop!
47 else
48 @name = value
49 @version = nil
50 end
51 end
[26]52
[4]53 def toValue(name, version)
54 if name == ""
55 raise Exception.new("empty name")
56 end
57 name + (version == nil ? "" : "(" + version + ")")
58 end
[90]59 end # of Terminology_ID
[4]60 end # of Definition
61 end # of Support
62 end # of RM
63end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.