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