diff options
Diffstat (limited to 'src/main/java/org/yaml/snakeyaml/events/Event.java')
-rw-r--r-- | src/main/java/org/yaml/snakeyaml/events/Event.java | 125 |
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(); + } } |