1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.common;
18
19
20
21
22 public final class SAMLVersion {
23
24
25 public static final SAMLVersion VERSION_10 = new SAMLVersion(1, 0);
26
27
28 public static final SAMLVersion VERSION_11 = new SAMLVersion(1, 1);
29
30
31 public static final SAMLVersion VERSION_20 = new SAMLVersion(2, 0);
32
33
34 private int majorVersion;
35
36
37 private int minorVersion;
38
39
40 private String versionString;
41
42
43
44
45
46
47
48 private SAMLVersion(int major, int minor) {
49 majorVersion = major;
50 minorVersion = minor;
51
52 versionString = majorVersion + "." + minorVersion;
53 }
54
55
56
57
58
59
60
61
62
63 public static final SAMLVersion valueOf(int majorVersion, int minorVersion) {
64 if (majorVersion == 1) {
65 if (minorVersion == 0) {
66 return SAMLVersion.VERSION_10;
67 } else if (minorVersion == 1) {
68 return SAMLVersion.VERSION_11;
69 }
70 } else if (majorVersion == 2) {
71 if (minorVersion == 0) {
72 return SAMLVersion.VERSION_20;
73 }
74 }
75
76 return new SAMLVersion(majorVersion, minorVersion);
77 }
78
79
80
81
82
83
84
85
86 public static final SAMLVersion valueOf(String version) {
87 String[] components = version.split("\\.");
88 return valueOf(Integer.valueOf(components[0]), Integer.valueOf(components[1]));
89 }
90
91
92
93
94
95
96 public int getMajorVersion() {
97 return majorVersion;
98 }
99
100
101
102
103
104
105 public int getMinorVersion() {
106 return minorVersion;
107 }
108
109
110 public String toString() {
111 return versionString;
112 }
113 }