source: ruby/trunk/models/rm/data_types/encapslated.rb@ 4

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

restructuring repository tree

File size: 1.3 KB
Line 
1module OpenEHR
2 module RM
3 module Data_Types
4 module Encapsulated
5 class DV_Encapsulated < OpenEHR::RM::Data_Types::Basic::Data_Value
6 attr_accessor :charset, :language
7 def size
8 raise NotImplementedError, "size method not implemented"
9 end
10 private
11 def size_positive
12 raise ArgumentError, "size must be positive" if size < 0
13 end
14 end
15 class DV_Multimedia < DV_Encapsulated
16
17 end
18 class DV_Parsable < DV_Encapsulated
19 attr_reader :value, :formalism
20 def initialize(value, formalism, charset = nil, language = nil)
21 @value = value
22 size_positive
23 formalism_validity(formalism)
24 @formalism = formalism
25 @charset, @language = charset, language
26 end
27 def size
28 value.size
29 end
30 private
31 def formalism_validity(formalism)
32 if formalism.nil
33 raise ArgumentError, "formalism must not be nil"
34 elsif formalism.empty?
35 raise ArgumentError, "formalism must nto be empty"
36 end
37 end
38 end
39 end # of Encapsulated
40 end # of Data_Types
41 end # of RM
42end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.