8eafcf2204bb55579b31cffe5b30519768ee4b0c
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / type / PatternEffectiveStatementImpl.java
1 /**
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type;
9
10 import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
11 import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
12 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
13
14 public class PatternEffectiveStatementImpl extends
15         AbstractConstraintEffectiveStatement<PatternConstraint, PatternStatement> {
16     public PatternEffectiveStatementImpl(final StmtContext<PatternConstraint, PatternStatement, ?> ctx) {
17         super(ctx);
18     }
19
20     @Override
21     protected PatternConstraint createConstraints(final PatternConstraint argument) {
22         if (!isCustomizedStatement()) {
23             return argument;
24         }
25
26         return new PatternConstraintEffectiveImpl(argument.getJavaPatternString(),
27             argument.getRegularExpressionString(),
28             getDescription().orElse(null), getReference().orElse(null), getErrorAppTag().orElse(null),
29             getErrorMessage().orElse(null), getModifier());
30     }
31 }