2 * Copyright (c) 2013 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.yangtools.yang.model.api.type;
10 import javax.annotation.Nullable;
11 import org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition;
14 * Contains the method for getting the data from the YANG <code>pattern</code>
15 * which is substatement of <code>type</code> statement.
17 public interface PatternConstraint extends ConstraintMetaDefinition {
20 * Returns a java regular expression (pattern).
22 * @return string with java regular expression which is equal to the argument of
23 * the YANG <code>pattern</code> substatement
25 String getRegularExpression();
28 * Returns a raw regular expression as it was declared in a source.
30 * @return argument of pattern statement as it was declared in a source.
32 // FIXME: version 2.0.0: make this method non-default
33 default String getRawRegularExpression() {
34 return getRegularExpression();
38 * All implementations should override this method.
39 * The default definition of this method is used only in YANG 1.0 (RFC6020)
40 * implementations of PatternConstraint which do not support modifier statement.
41 * YANG pattern statement has been changed in YANG 1.1 (RFC7950) and now allows modifier statement.
43 * @return enum constant which represents the value of modifier statement
45 // FIXME: version 2.0.0: make this method non-default
46 @Nullable default ModifierKind getModifier() {