aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/yaml/snakeyaml/events/Event.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/yaml/snakeyaml/events/Event.java')
-rw-r--r--src/main/java/org/yaml/snakeyaml/events/Event.java125
1 files changed, 71 insertions, 54 deletions
diff --git a/src/main/java/org/yaml/snakeyaml/events/Event.java b/src/main/java/org/yaml/snakeyaml/events/Event.java
index 4ebfa921..62c85b6e 100644
--- a/src/main/java/org/yaml/snakeyaml/events/Event.java
+++ b/src/main/java/org/yaml/snakeyaml/events/Event.java
@@ -1,77 +1,94 @@
/**
- * Copyright (c) 2008, http://www.snakeyaml.org
+ * Copyright (c) 2008, SnakeYAML
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package org.yaml.snakeyaml.events;
import org.yaml.snakeyaml.error.Mark;
/**
- * Basic unit of output from a {@link org.yaml.snakeyaml.parser.Parser} or input
- * of a {@link org.yaml.snakeyaml.emitter.Emitter}.
+ * Basic unit of output from a {@link org.yaml.snakeyaml.parser.Parser} or input of a
+ * {@link org.yaml.snakeyaml.emitter.Emitter}.
*/
public abstract class Event {
- public enum ID {
- Alias, DocumentEnd, DocumentStart, MappingEnd, MappingStart, Scalar, SequenceEnd, SequenceStart, StreamEnd, StreamStart
- }
- private final Mark startMark;
- private final Mark endMark;
+ public enum ID {
+ Alias, Comment, DocumentEnd, DocumentStart, MappingEnd, MappingStart, Scalar, SequenceEnd, SequenceStart, StreamEnd, StreamStart
+ }
- public Event(Mark startMark, Mark endMark) {
- this.startMark = startMark;
- this.endMark = endMark;
- }
+ private final Mark startMark;
+ private final Mark endMark;
- public String toString() {
- return "<" + this.getClass().getName() + "(" + getArguments() + ")>";
- }
+ public Event(Mark startMark, Mark endMark) {
+ this.startMark = startMark;
+ this.endMark = endMark;
+ }
- public Mark getStartMark() {
- return startMark;
- }
+ public String toString() {
+ return "<" + this.getClass().getName() + "(" + getArguments() + ")>";
+ }
- public Mark getEndMark() {
- return endMark;
- }
+ public Mark getStartMark() {
+ return startMark;
+ }
- /**
- * @see "__repr__ for Event in PyYAML"
- */
- protected String getArguments() {
- return "";
- }
+ public Mark getEndMark() {
+ return endMark;
+ }
- public abstract boolean is(Event.ID id);
+ /**
+ * Generate human readable representation of the Event
+ *
+ * @see "__repr__ for Event in PyYAML"
+ * @return representation fore humans
+ */
+ protected String getArguments() {
+ return "";
+ }
- /*
- * for tests only
- */
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof Event) {
- return toString().equals(obj.toString());
- } else {
- return false;
- }
- }
+ /**
+ * Check if the Event is of the provided kind
+ *
+ * @param id - the Event.ID enum
+ * @return true then this Event of the provided type
+ */
+ public boolean is(Event.ID id) {
+ return getEventId() == id;
+ }
- /*
- * for tests only
- */
- @Override
- public int hashCode() {
- return toString().hashCode();
+ /**
+ * Get the type (kind) if this Event
+ *
+ * @return the ID of this Event
+ */
+ public abstract Event.ID getEventId();
+
+ /*
+ * for tests only
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof Event) {
+ return toString().equals(obj.toString());
+ } else {
+ return false;
}
+ }
+
+ /*
+ * for tests only
+ */
+ @Override
+ public int hashCode() {
+ return toString().hashCode();
+ }
}