View Javadoc

    1   /**
    2    * Copyright (c) 2008-2011, http://www.snakeyaml.org
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *     http://www.apache.org/licenses/LICENSE-2.0
    9    *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16
    17  package org.yaml.snakeyaml.events;
    18
    19  import org.yaml.snakeyaml.error.Mark;
    20
    21  /**
    22   * Base class for the start events of the collection nodes.
    23   */
    24  public abstract class CollectionStartEvent extends NodeEvent {
    25      private final String tag;
    26      // The implicit flag of a collection start event indicates if the tag may be
    27      // omitted when the collection is emitted
    28      private final boolean implicit;
    29      // flag indicates if a collection is block or flow
    30      private final Boolean flowStyle;
    31
    32      public CollectionStartEvent(String anchor, String tag, boolean implicit, Mark startMark,
    33              Mark endMark, Boolean flowStyle) {
    34          super(anchor, startMark, endMark);
    35          this.tag = tag;
    36          this.implicit = implicit;
    37          this.flowStyle = flowStyle;
    38      }
    39
    40      /**
    41       * Tag of this collection.
    42       *
    43       * @return The tag of this collection, or <code>null</code> if no explicit
    44       *         tag is available.
    45       */
    46      public String getTag() {
    47          return this.tag;
    48      }
    49
    50      /**
    51       * <code>true</code> if the tag can be omitted while this collection is
    52       * emitted.
    53       *
    54       * @return True if the tag can be omitted while this collection is emitted.
    55       */
    56      public boolean getImplicit() {
    57          return this.implicit;
    58      }
    59
    60      /**
    61       * <code>true</code> if this collection is in flow style, <code>false</code>
    62       * for block style.
    63       *
    64       * @return If this collection is in flow style.
    65       */
    66      public Boolean getFlowStyle() {
    67          return this.flowStyle;
    68      }
    69
    70      @Override
    71      protected String getArguments() {
    72          return super.getArguments() + ", tag=" + tag + ", implicit=" + implicit;
    73      }
    74  }