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 examples.resolver;
    18
    19  import java.util.regex.Pattern;
    20
    21  import org.yaml.snakeyaml.nodes.Tag;
    22  import org.yaml.snakeyaml.resolver.Resolver;
    23
    24  public class CustomIntResolver extends Resolver {
    25      public static final Pattern PURE_INT = Pattern.compile("^[0-9]+$");
    26
    27      /*
    28       * do not resolve int if it has underscores
    29       */
    30      protected void addImplicitResolvers() {
    31          addImplicitResolver(Tag.BOOL, BOOL, "yYnNtTfFoO");
    32          addImplicitResolver(Tag.FLOAT, FLOAT, "-+0123456789.");
    33          // define simple int pattern
    34          addImplicitResolver(Tag.INT, PURE_INT, "0123456789");
    35          addImplicitResolver(Tag.MERGE, MERGE, "<");
    36          addImplicitResolver(Tag.NULL, NULL, "~nN\0");
    37          addImplicitResolver(Tag.NULL, EMPTY, null);
    38          addImplicitResolver(Tag.TIMESTAMP, TIMESTAMP, "0123456789");
    39          addImplicitResolver(Tag.VALUE, VALUE, "=");
    40      }
    41  }