Merge "Add cascade delete fragments to liquibase test config"
[cps.git] / cps-path-parser / src / main / java / org / onap / cps / cpspath / parser / CpsPathQuery.java
index 53490f3..418b5ec 100644 (file)
@@ -1,6 +1,7 @@
 /*
  *  ============LICENSE_START=======================================================
- *  Copyright (C) 2021-2022 Nordix Foundation
+ *  Copyright (C) 2021-2023 Nordix Foundation
+ *  Modifications Copyright (C) 2023 TechMahindra Ltd
  *  ================================================================================
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -22,6 +23,7 @@ package org.onap.cps.cpspath.parser;
 
 import static org.onap.cps.cpspath.parser.CpsPathPrefixType.ABSOLUTE;
 
+import java.util.List;
 import java.util.Map;
 import lombok.AccessLevel;
 import lombok.Getter;
@@ -32,13 +34,18 @@ import lombok.Setter;
 public class CpsPathQuery {
 
     private String xpathPrefix;
+    private String normalizedParentPath;
     private String normalizedXpath;
+    private List<String> containerNames;
     private CpsPathPrefixType cpsPathPrefixType = ABSOLUTE;
     private String descendantName;
     private Map<String, Object> leavesData;
     private String ancestorSchemaNodeIdentifier = "";
     private String textFunctionConditionLeafName;
     private String textFunctionConditionValue;
+    private List<String> booleanOperatorsType;
+    private String containsFunctionConditionLeafName;
+    private String containsFunctionConditionValue;
 
     /**
      * Returns a cps path query.
@@ -77,4 +84,22 @@ public class CpsPathQuery {
         return textFunctionConditionLeafName != null;
     }
 
+    /**
+     * Has contains function condition been included in cpsPath.
+     *
+     * @return boolean value.
+     */
+    public boolean hasContainsFunctionCondition() {
+        return containsFunctionConditionLeafName != null;
+    }
+
+    /**
+     * Returns boolean indicating xpath is an absolute path to a list element.
+     *
+     * @return true if xpath is an absolute path to a list element
+     */
+    public boolean isPathToListElement() {
+        return cpsPathPrefixType == ABSOLUTE && hasLeafConditions();
+    }
+
 }