Cleanup DocumentedNode
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / type / PatternConstraintEffectiveImpl.java
index ace88ab63f54c62761ddeeee96cbe16bb58d7fa0..971dd2be583b0c98bbbc7de33a17b8f139df9d67 100644 (file)
@@ -7,31 +7,33 @@
  */
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.base.MoreObjects;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
 import java.util.Objects;
+import java.util.Optional;
 import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
 import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 
 public class PatternConstraintEffectiveImpl implements PatternConstraint {
 
     private final String regEx;
+    private final String rawRegEx;
     private final String description;
     private final String reference;
     private final String errorAppTag;
     private final String errorMessage;
     private final ModifierKind modifier;
 
-    public PatternConstraintEffectiveImpl(final String regex, final Optional<String> description,
-            final Optional<String> reference) {
-        this(regex, description.orNull(), reference.orNull(), null, null, null);
+    public PatternConstraintEffectiveImpl(final String regex, final String rawRegex,
+            final Optional<String> description, final Optional<String> reference) {
+        this(regex, rawRegex, description.orElse(null), reference.orElse(null), null, null, null);
     }
 
-    public PatternConstraintEffectiveImpl(final String regex, final String description, final String reference,
-            final String errorAppTag, final String errorMessage, final ModifierKind modifier) {
-        super();
-        this.regEx = Preconditions.checkNotNull(regex, "regex must not be null.");
+    public PatternConstraintEffectiveImpl(final String regex, final String rawRegex, final String description,
+            final String reference, final String errorAppTag, final String errorMessage, final ModifierKind modifier) {
+        this.regEx = requireNonNull(regex, "regex must not be null");
+        this.rawRegEx = requireNonNull(rawRegex, "raw regex must not be null");
         this.description = description;
         this.reference = reference;
         this.errorAppTag = errorAppTag != null ? errorAppTag : "invalid-regular-expression";
@@ -46,18 +48,23 @@ public class PatternConstraintEffectiveImpl implements PatternConstraint {
     }
 
     @Override
-    public String getDescription() {
-        return description;
+    public String getRawRegularExpression() {
+        return rawRegEx;
+    }
+
+    @Override
+    public Optional<String> getDescription() {
+        return Optional.ofNullable(description);
     }
 
     @Override
-    public String getErrorAppTag() {
-        return errorAppTag;
+    public Optional<String> getErrorAppTag() {
+        return Optional.ofNullable(errorAppTag);
     }
 
     @Override
-    public String getErrorMessage() {
-        return errorMessage;
+    public Optional<String> getErrorMessage() {
+        return Optional.ofNullable(errorMessage);
     }
 
     @Override
@@ -66,8 +73,8 @@ public class PatternConstraintEffectiveImpl implements PatternConstraint {
     }
 
     @Override
-    public String getReference() {
-        return reference;
+    public Optional<String> getReference() {
+        return Optional.ofNullable(reference);
     }
 
     @Override