Bug 5410 - XSD regular expressions are interpreted as Java regexes (1/2)
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / type / PatternConstraintEffectiveImpl.java
index ace88ab63f54c62761ddeeee96cbe16bb58d7fa0..95c4d89f99bc708b2704c0d27bfe078c4a06f8ee 100644 (file)
@@ -17,21 +17,23 @@ 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.orNull(), reference.orNull(), null, null, null);
     }
 
-    public PatternConstraintEffectiveImpl(final String regex, final String description, final String reference,
-            final String errorAppTag, final String errorMessage, final ModifierKind modifier) {
+    public PatternConstraintEffectiveImpl(final String regex, final String rawRegex, 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.");
+        this.rawRegEx = Preconditions.checkNotNull(rawRegex, "raw regex must not be null.");
         this.description = description;
         this.reference = reference;
         this.errorAppTag = errorAppTag != null ? errorAppTag : "invalid-regular-expression";
@@ -45,6 +47,11 @@ public class PatternConstraintEffectiveImpl implements PatternConstraint {
         return regEx;
     }
 
+    @Override
+    public String getRawRegularExpression() {
+        return rawRegEx;
+    }
+
     @Override
     public String getDescription() {
         return description;