/*
* Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.yangtools.yang.model.api.type;
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition;
/**
* Contains the method for getting the data from the YANG <code>pattern</code>
* which is substatement of <code>type</code> statement.
*/
public interface PatternConstraint extends ConstraintMetaDefinition {
/**
* Returns a java regular expression (pattern).
*
* @return string with java regular expression which is equal to the argument of
* the YANG <code>pattern</code> substatement
*/
String getRegularExpression();
/**
* Returns a raw regular expression as it was declared in a source.
*
* @return argument of pattern statement as it was declared in a source.
*/
// FIXME: version 2.0.0: make this method non-default
default String getRawRegularExpression() {
return getRegularExpression();
}
/**
* All implementations should override this method.
* The default definition of this method is used only in YANG 1.0 (RFC6020)
* implementations of PatternConstraint which do not support modifier statement.
* YANG pattern statement has been changed in YANG 1.1 (RFC7950) and now allows modifier statement.
*
* @return enum constant which represents the value of modifier statement
*/
// FIXME: version 2.0.0: make this method non-default
@Nullable default ModifierKind getModifier() {
return null;
}
}