Compat Java 1.5+ (again)
[jvcard.git] / src / be / nikiroo / jvcard / TypeInfo.java
CommitLineData
a3b510ab
NR
1package be.nikiroo.jvcard;
2
26d2bd05
NR
3/**
4 * This class describes a type, that is, a key-value pair.
5 *
6 * @author niki
7 *
8 */
e253bd50 9@SuppressWarnings("rawtypes")
08fbe0fb 10public class TypeInfo extends BaseClass<TypeInfo> {
a3b510ab
NR
11 private String name;
12 private String value;
13
1c03abaf
NR
14 /**
15 * Create a new {@link TypeInfo}.
16 *
17 * @param name
18 * the name of this {@link TypeInfo} (<b>MUST NOT</b> be NULL)
19 * @param value
20 * its value (<b>MUST NOT</b> be NULL)
21 */
e253bd50 22 @SuppressWarnings("unchecked")
a3b510ab 23 public TypeInfo(String name, String value) {
26d2bd05
NR
24 super(null);
25
1c03abaf
NR
26 this.name = name.toUpperCase();
27 this.value = value.toString(); // crash NOW if null
a3b510ab
NR
28 }
29
1c03abaf
NR
30 /**
31 * Return the name.
32 *
33 * @return the name
34 */
a3b510ab
NR
35 public String getName() {
36 return name;
37 }
38
1c03abaf
NR
39 /**
40 * Return the value.
41 *
42 * @return the value
43 */
a3b510ab
NR
44 public String getValue() {
45 return value;
46 }
e253bd50
NR
47
48 @Override
49 public String getId() {
50 return "" + name;
51 }
52
53 @Override
54 public String getState() {
e4444b0b 55 return ("" + name + value).replace(' ', '_');
e253bd50 56 }
08fbe0fb 57}