2 * Copyright (c) 2015 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.parser.stmt.rfc6020.effective.type;
10 import com.google.common.base.Optional;
11 import com.google.common.base.Preconditions;
12 import java.util.Objects;
13 import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
15 public class PatternConstraintEffectiveImpl implements PatternConstraint {
17 private final String regEx;
18 private final String description;
19 private final String reference;
21 private final String errorAppTag;
22 private final String errorMessage;
24 public PatternConstraintEffectiveImpl(final String regex, final Optional<String> description,
25 final Optional<String> reference) {
29 this.regEx = Preconditions.checkNotNull(regex, "regex must not be null.");
30 this.description = description.orNull();
31 this.reference = reference.orNull();
33 errorAppTag = "invalid-regular-expression";
34 errorMessage = String.format("String %s is not valid regular expression.", regex);
38 public String getRegularExpression() {
43 public String getDescription() {
48 public String getErrorAppTag() {
53 public String getErrorMessage() {
58 public String getReference() {
63 public int hashCode() {
66 result = prime * result + Objects.hashCode(description);
67 result = prime * result + Objects.hashCode(errorAppTag);
68 result = prime * result + Objects.hashCode(errorMessage);
69 result = prime * result + Objects.hashCode(reference);
70 result = prime * result + regEx.hashCode();
75 public boolean equals(final Object obj) {
82 if (getClass() != obj.getClass()) {
85 final PatternConstraintEffectiveImpl other = (PatternConstraintEffectiveImpl) obj;
86 if (!Objects.equals(description, other.description)) {
89 if (!Objects.equals(errorAppTag, other.errorAppTag)) {
92 if (!Objects.equals(errorMessage, other.errorMessage)) {
95 if (!Objects.equals(reference, other.reference)) {
98 if (!Objects.equals(regEx, other.regEx)) {
105 public String toString() {
106 return PatternConstraintEffectiveImpl.class.getSimpleName() +