/*
* ============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.
import static org.onap.cps.cpspath.parser.CpsPathPrefixType.ABSOLUTE;
import java.util.List;
-import java.util.Map;
import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
private List<String> containerNames;
private CpsPathPrefixType cpsPathPrefixType = ABSOLUTE;
private String descendantName;
- private Map<String, Object> leavesData;
+ private List<DataLeaf> leavesData;
private String ancestorSchemaNodeIdentifier = "";
private String textFunctionConditionLeafName;
private String textFunctionConditionValue;
+ private List<String> booleanOperators;
+ private List<String> comparativeOperators;
+ private String containsFunctionConditionLeafName;
+ private String containsFunctionConditionValue;
/**
* Returns a cps path query.
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();
+ }
+
+ @Getter
+ @EqualsAndHashCode
+ @AllArgsConstructor
+ public static class DataLeaf {
+ private final String name;
+ private final Object value;
+ }
}