2 * Copyright (c) 2013, 2015 IBM Corporation 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
9 package org.opendaylight.neutron.spi;
11 import java.io.Serializable;
12 import java.util.Iterator;
13 import java.util.List;
14 import javax.xml.bind.annotation.XmlAccessType;
15 import javax.xml.bind.annotation.XmlAccessorType;
16 import javax.xml.bind.annotation.XmlElement;
17 import javax.xml.bind.annotation.XmlRootElement;
20 @XmlAccessorType(XmlAccessType.NONE)
21 public final class NeutronFloatingIP
22 extends NeutronObject<NeutronFloatingIP> implements Serializable, INeutronObject<NeutronFloatingIP> {
23 private static final long serialVersionUID = 1L;
25 // See OpenStack Network API v2.0 Reference for description of
26 // annotated attributes
28 @XmlElement(name = "floating_network_id")
29 String floatingNetworkUUID;
31 @XmlElement(name = "port_id")
34 @XmlElement(name = "fixed_ip_address")
35 String fixedIPAddress;
37 @XmlElement(name = "floating_ip_address")
38 String floatingIPAddress;
40 @XmlElement(name = "router_id")
43 @XmlElement(name = "status")
46 public NeutronFloatingIP() {
49 public String getFloatingNetworkUUID() {
50 return floatingNetworkUUID;
53 public void setFloatingNetworkUUID(String floatingNetworkUUID) {
54 this.floatingNetworkUUID = floatingNetworkUUID;
57 public String getPortUUID() {
61 public String getRouterUUID() {
65 public void setPortUUID(String portUUID) {
66 this.portUUID = portUUID;
69 public String getFixedIPAddress() {
70 return fixedIPAddress;
73 public void setFixedIPAddress(String fixedIPAddress) {
74 this.fixedIPAddress = fixedIPAddress;
77 public String getFloatingIPAddress() {
78 return floatingIPAddress;
81 public void setFloatingIPAddress(String floatingIPAddress) {
82 this.floatingIPAddress = floatingIPAddress;
85 public void setRouterUUID(String routerUUID) {
86 this.routerUUID = routerUUID;
89 public String getStatus() {
93 public void setStatus(String status) {
98 * This method copies selected fields from the object and returns them
99 * as a new object, suitable for marshaling.
102 * List of attributes to be extracted
103 * @return an OpenStackFloatingIPs object with only the selected fields
107 public NeutronFloatingIP extractFields(List<String> fields) {
108 NeutronFloatingIP ans = new NeutronFloatingIP();
109 Iterator<String> i = fields.iterator();
110 while (i.hasNext()) {
112 if (s.equals("id")) {
113 ans.setID(this.getID());
115 if (s.equals("floating_network_id")) {
116 ans.setFloatingNetworkUUID(this.getFloatingNetworkUUID());
118 if (s.equals("port_id")) {
119 ans.setPortUUID(this.getPortUUID());
121 if (s.equals("fixed_ip_address")) {
122 ans.setFixedIPAddress(this.getFixedIPAddress());
124 if (s.equals("floating_ip_address")) {
125 ans.setFloatingIPAddress(this.getFloatingIPAddress());
127 if (s.equals("tenant_id")) {
128 ans.setTenantID(this.getTenantID());
130 if (s.equals("router_id")) {
131 ans.setRouterUUID(this.getRouterUUID());
133 if (s.equals("status")) {
134 ans.setStatus(this.getStatus());
141 public String toString() {
142 return "NeutronFloatingIP{" + "fipUUID='" + uuid + '\'' + ", fipFloatingNetworkId='" + floatingNetworkUUID
143 + '\'' + ", fipPortUUID='" + portUUID + '\'' + ", fipFixedIPAddress='" + fixedIPAddress + '\''
144 + ", fipFloatingIPAddress=" + floatingIPAddress + ", fipTenantId='" + tenantID + '\''
145 + ", fipRouterId='" + routerUUID + '\'' + ", fipStatus='" + status + '\'' + '}';