2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.restconf.utils.parser.builder;
10 import com.google.common.base.CharMatcher;
11 import org.opendaylight.restconf.parser.builder.YangInstanceIdentifierDeserializer;
12 import org.opendaylight.restconf.parser.builder.YangInstanceIdentifierSerializer;
15 * Util class of constants of {@link YangInstanceIdentifierSerializer}
16 * and {@link YangInstanceIdentifierDeserializer}
19 public final class ParserBuilderConstants {
21 private ParserBuilderConstants() {
22 throw new UnsupportedOperationException("Util class");
26 * Constants for {@link YangInstanceIdentifierSerializer}
29 public static final class Serializer {
31 private Serializer() {
32 throw new UnsupportedOperationException("Util class");
35 public static final String DISABLED_CHARS = ",': /";
36 public static final CharMatcher PERCENT_ENCODE_CHARS = CharMatcher.anyOf(DISABLED_CHARS).precomputed();
40 * Constants for {@link YangInstanceIdentifierSerializer}
43 public static final class Deserializer {
45 private Deserializer() {
46 throw new UnsupportedOperationException("Util class");
49 public static final CharMatcher BASE = CharMatcher.inRange('a', 'z').or(CharMatcher.inRange('A', 'Z'))
51 public static final CharMatcher IDENTIFIER_FIRST_CHAR = BASE.or(CharMatcher.is('_')).precomputed();
52 public static final CharMatcher IDENTIFIER = IDENTIFIER_FIRST_CHAR.or(CharMatcher.inRange('0', '9'))
53 .or(CharMatcher.anyOf(".-")).precomputed();
54 public static final CharMatcher IDENTIFIER_HEXA = CharMatcher.inRange('a', 'f')
55 .or(CharMatcher.inRange('A', 'F')).or(CharMatcher.inRange('0', '9')).precomputed();
57 public static final char COLON = ':';
58 public static final char EQUAL = '=';
59 public static final char COMMA = ',';
60 public static final char PERCENT_ENCODING = '%';
61 public static final char QUOTE = '"';
63 public static final CharMatcher IDENTIFIER_FIRST_CHAR_PREDICATE = BASE.or(CharMatcher.inRange('0', '9'))
64 .or(CharMatcher.is(QUOTE)).or(CharMatcher.is(PERCENT_ENCODING)).precomputed();
66 public static final CharMatcher IDENTIFIER_PREDICATE = IDENTIFIER_FIRST_CHAR_PREDICATE;
67 public static final String EMPTY_STRING = "";