2 * Copyright (c) 2014 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.controller.sal.restconf.impl;
10 import java.util.ArrayList;
11 import java.util.Collections;
12 import java.util.List;
14 public final class IdentityValuesDTO {
16 private final List<IdentityValue> elementData = new ArrayList<>();
17 private final String originValue;
19 public IdentityValuesDTO(String namespace, String value, String prefix,String originValue) {
20 elementData.add(new IdentityValue(namespace, value, prefix));
21 this.originValue = originValue;
24 public IdentityValuesDTO(String originValue) {
25 this.originValue = originValue;
28 public IdentityValuesDTO() {
32 public void add(String namespace, String value, String prefix) {
33 elementData.add(new IdentityValue(namespace, value, prefix));
36 public void add(IdentityValue identityValue) {
37 elementData.add(identityValue);
41 public List<IdentityValue> getValuesWithNamespaces() {
42 return Collections.unmodifiableList(elementData);
46 public String toString() {
47 return elementData.toString();
50 public String getOriginValue() {
54 public static final class IdentityValue {
56 private final String namespace;
57 private final String value;
58 private final String prefix;
59 private List<Predicate> predicates;
61 public IdentityValue(String namespace, String value, String prefix) {
62 this.namespace = namespace;
67 public String getNamespace() {
71 public String getValue() {
75 public String getPrefix() {
79 public List<Predicate> getPredicates() {
80 if (predicates == null) {
81 return Collections.emptyList();
83 return Collections.unmodifiableList(predicates);
86 public void setPredicates(List<Predicate> predicates) {
87 this.predicates = predicates;
91 public String toString() {
92 StringBuilder sb = new StringBuilder();
93 if (namespace != null) {
97 sb.append("(").append(prefix).append(")");
100 sb.append(" - ").append(value);
102 if (predicates != null && !predicates.isEmpty()) {
103 for (Predicate predicate : predicates) {
105 predicate.toString();
109 return sb.toString();
114 public static final class Predicate {
116 private final IdentityValue name;
117 private final String value;
119 public Predicate(IdentityValue name, String value) {
125 public IdentityValue getName() {
129 public String getValue() {
134 public String toString() {
135 StringBuilder sb = new StringBuilder();
137 sb.append(name.toString());
140 sb.append("=").append(value);
142 return sb.toString();
145 public boolean isLeafList() {
146 return name == null ? true : false;