/[eiffelstudio]/trunk/Src/library/uuid/uuid_generator.e
ViewVC logotype

Diff of /trunk/Src/library/uuid/uuid_generator.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 56805 by patrickr, Sat Jan 28 03:49:48 2006 UTC revision 56806 by patrickr, Mon Jan 30 20:13:52 2006 UTC
# Line 16  feature -- Access Line 16  feature -- Access
16              l_b: ARRAY [NATURAL_8]              l_b: ARRAY [NATURAL_8]
17              i: INTEGER              i: INTEGER
18          do          do
19                  create Result.make (19)                  create Result.make (36)
20                  create l_b.make (1, 16)                  create l_b.make (1, 16)
21                  from                  from
22                          i := 1                          i := 1
# Line 44  feature -- Access Line 44  feature -- Access
44                          i := i + 1                          i := i + 1
45                  end                  end
46                  Result.to_lower                  Result.to_lower
47            ensure
48                    Valid_uuid: is_valid_uuid (Result)
49                  end                  end
50    
51    feature -- Validation
52    
53            is_valid_uuid (a_string: STRING): BOOLEAN is
54                            -- Is `a_string' a valid uuid?
55                    require
56                            a_string_not_void: a_string /= Void
57                    local
58                            i: INTEGER
59                    do
60                            if a_string.count /= 36 then
61                                    Result := False
62                            else
63                                    Result := True
64                                    from
65                                            i := 1
66                                    until
67                                            not Result or i > 36
68                                    loop
69                                            if i = 9 or i = 14 or i = 19 or i = 24 then
70                                                    Result := a_string.item (i) = '-'
71                                            else
72                                                    Result := a_string.item (i).is_hexa_digit
73                                            end
74                                            i := i +1
75                                    end
76                            end
77                    end
78    
79    
80  feature {NONE} -- Implementation  feature {NONE} -- Implementation
81    
82          initialize_seed is          initialize_seed is

Legend:
Removed from v.56805  
changed lines
  Added in v.56806

  ViewVC Help
Powered by ViewVC 1.1.23