package org.opennaas.extensions.genericnetwork.model.circuit.request; /* * #%L * OpenNaaS :: Generic Network * %% * Copyright (C) 2007 - 2014 FundaciĆ³ Privada i2CAT, Internet i InnovaciĆ³ a Catalunya * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.NormalizedStringAdapter; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.opennaas.extensions.genericnetwork.model.circuit.QoSPolicy; /** * * @author Adrian Rosello Rey (i2CAT) * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "source", "destination", "label", "qosPolicy" }) @XmlRootElement(name = "qos_policy_request", namespace = "opennaas.api") public class CircuitRequest { @XmlAttribute(name = "atomic") @XmlJavaTypeAdapter(NormalizedStringAdapter.class) private String atomic; @XmlElement(required = true) private Source source; @XmlElement(required = true) private Destination destination; @XmlElement(required = true) private String label; @XmlElement(name = "qos_policy") private QoSPolicy qosPolicy; public String getAtomic() { return atomic; } public void setAtomic(String atomic) { this.atomic = atomic; } public Source getSource() { return source; } public void setSource(Source source) { this.source = source; } public Destination getDestination() { return destination; } public void setDestination(Destination destination) { this.destination = destination; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public QoSPolicy getQosPolicy() { return qosPolicy; } public void setQosPolicy(QoSPolicy qosPolicy) { this.qosPolicy = qosPolicy; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((atomic == null) ? 0 : atomic.hashCode()); result = prime * result + ((destination == null) ? 0 : destination.hashCode()); result = prime * result + ((label == null) ? 0 : label.hashCode()); result = prime * result + ((qosPolicy == null) ? 0 : qosPolicy.hashCode()); result = prime * result + ((source == null) ? 0 : source.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; CircuitRequest other = (CircuitRequest) obj; if (atomic == null) { if (other.atomic != null) return false; } else if (!atomic.equals(other.atomic)) return false; if (destination == null) { if (other.destination != null) return false; } else if (!destination.equals(other.destination)) return false; if (label == null) { if (other.label != null) return false; } else if (!label.equals(other.label)) return false; if (qosPolicy == null) { if (other.qosPolicy != null) return false; } else if (!qosPolicy.equals(other.qosPolicy)) return false; if (source == null) { if (other.source != null) return false; } else if (!source.equals(other.source)) return false; return true; } }