1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.yaml.snakeyaml.introspector;
18
19 public abstract class Property implements Comparable<Property> {
20
21 private final String name;
22 private final Class<?> type;
23
24 public Property(String name, Class<?> type) {
25 this.name = name;
26 this.type = type;
27 }
28
29 public Class<?> getType() {
30 return type;
31 }
32
33 abstract public Class<?>[] getActualTypeArguments();
34
35 public String getName() {
36 return name;
37 }
38
39 @Override
40 public String toString() {
41 return getName() + " of " + getType();
42 }
43
44 public int compareTo(Property o) {
45 return name.compareTo(o.name);
46 }
47
48 public boolean isWritable() {
49 return true;
50 }
51
52 public boolean isReadable() {
53 return true;
54 }
55
56 abstract public void set(Object object, Object value) throws Exception;
57
58 abstract public Object get(Object object);
59 }