source: ruby/trunk/models/am/archetype/constraint_model/primitive.rb@ 4

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

restructuring repository tree

File size: 2.1 KB
Line 
1module OpenEHR
2 module AM
3 module Archetype
4 module Constraint_Model
5 module Primitive
6 class C_Primitive
7 def assumed_value
8 raise NotImplementedError, "assumed_value should be implemented"
9 end
10 def default_value
11 raise NotImplementedError, "assumed_value should be implemented"
12 end
13 def has_assumed_value?
14 assumed_value != nil
15 end
16 def valid_value?
17 raise NotImplementedError, "valid_value? should be implemented"
18 end
19 end
20 class C_Boolean < C_Primitive
21 attr_accessor :assumed_value
22 def initialize(true_valid, false_valid, assumed_value)
23 binary_consistency(true_valid, false_valid)
24 @true_valid = true_valid
25 @false_valid = false_valid
26 @assumed_value = assumed_value
27 end
28 def set_true_valid(true_valid)
29 binary_consistency(true_valid, @false_valid)
30 @true_valid = true_valid
31 end
32 def set_false_valid(false_valid)
33 binary_consistency(@true_valid,false_valid)
34 @false_valid = false_valid
35 end
36 def true_valid?
37 @true_valid
38 end
39 def false_valid?
40 @false_valid
41 end
42 def valid_value?
43
44 end
45 def default_value(a_value=nil)
46 if a_value == nil
47 @true_valid
48 else
49 (a_value && @true_valid) || (!a_value && @false_valid)
50 end
51 end
52 private
53 def binary_consistency(true_valid, false_valid)
54 if !true_valid && !false_valid
55 raise ArgumentError, "Either true_valid or false_valid must be true"
56 end
57 end
58 end # of C_Boolean
59 class C_Integer < C_Primitive
60
61 end
62 end # of Primitive
63 end # of Constraint_Model
64 end # of Archetype
65 end # of AM
66end # of OpenEHR
Note: See TracBrowser for help on using the repository browser.