1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml.events;
17
18 import org.yaml.snakeyaml.error.Mark;
19
20
21
22
23
24 public abstract class Event {
25 public enum ID {
26 Alias, DocumentEnd, DocumentStart, MappingEnd, MappingStart, Scalar, SequenceEnd, SequenceStart, StreamEnd, StreamStart
27 }
28
29 private final Mark startMark;
30 private final Mark endMark;
31
32 public Event(Mark startMark, Mark endMark) {
33 this.startMark = startMark;
34 this.endMark = endMark;
35 }
36
37 public String toString() {
38 return "<" + this.getClass().getName() + "(" + getArguments() + ")>";
39 }
40
41 public Mark getStartMark() {
42 return startMark;
43 }
44
45 public Mark getEndMark() {
46 return endMark;
47 }
48
49
50
51
52 protected String getArguments() {
53 return "";
54 }
55
56 public abstract boolean is(Event.ID id);
57
58
59
60
61 @Override
62 public boolean equals(Object obj) {
63 if (obj instanceof Event) {
64 return toString().equals(obj.toString());
65 } else {
66 return false;
67 }
68 }
69
70
71
72
73 @Override
74 public int hashCode() {
75 return toString().hashCode();
76 }
77 }