f0687bb05e5b9d53443dc1d67e5ca0338005744c
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronLoadBalancerPoolMember.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.neutron.spi;
10
11 import java.io.Serializable;
12 import javax.xml.bind.annotation.XmlAccessType;
13 import javax.xml.bind.annotation.XmlAccessorType;
14 import javax.xml.bind.annotation.XmlElement;
15 import javax.xml.bind.annotation.XmlRootElement;
16 import javax.xml.bind.annotation.XmlTransient;
17
18 @XmlRootElement
19 @XmlAccessorType(XmlAccessType.NONE)
20 public final class NeutronLoadBalancerPoolMember extends NeutronObject<NeutronLoadBalancerPoolMember>
21         implements Serializable, INeutronObject<NeutronLoadBalancerPoolMember> {
22     private static final long serialVersionUID = 1L;
23
24     /**
25      * TODO: Plumb into LBaaS Pool. Members are nested underneath Pool CRUD.
26      */
27     @XmlElement(name = "address")
28     String poolMemberAddress;
29
30     @XmlElement(name = "protocol_port")
31     Integer poolMemberProtoPort;
32
33     @XmlElement(name = "admin_state_up")
34     Boolean poolMemberAdminStateIsUp;
35
36     @XmlElement(name = "weight")
37     Integer poolMemberWeight;
38
39     @XmlElement(name = "subnet_id")
40     String poolMemberSubnetID;
41
42     String poolID;
43
44     public NeutronLoadBalancerPoolMember() {
45     }
46
47     @XmlTransient
48     public String getPoolID() {
49         return poolID;
50     }
51
52     public void setPoolID(String poolID) {
53         this.poolID = poolID;
54     }
55
56     public String getPoolMemberAddress() {
57         return poolMemberAddress;
58     }
59
60     public void setPoolMemberAddress(String poolMemberAddress) {
61         this.poolMemberAddress = poolMemberAddress;
62     }
63
64     public Integer getPoolMemberProtoPort() {
65         return poolMemberProtoPort;
66     }
67
68     public void setPoolMemberProtoPort(Integer poolMemberProtoPort) {
69         this.poolMemberProtoPort = poolMemberProtoPort;
70     }
71
72     public Boolean getPoolMemberAdminStateIsUp() {
73         return poolMemberAdminStateIsUp;
74     }
75
76     public void setPoolMemberAdminStateIsUp(Boolean poolMemberAdminStateIsUp) {
77         this.poolMemberAdminStateIsUp = poolMemberAdminStateIsUp;
78     }
79
80     public Integer getPoolMemberWeight() {
81         return poolMemberWeight;
82     }
83
84     public void setPoolMemberWeight(Integer poolMemberWeight) {
85         this.poolMemberWeight = poolMemberWeight;
86     }
87
88     public String getPoolMemberSubnetID() {
89         return poolMemberSubnetID;
90     }
91
92     public void setPoolMemberSubnetID(String poolMemberSubnetID) {
93         this.poolMemberSubnetID = poolMemberSubnetID;
94     }
95
96     @Override
97     protected boolean extractField(String field, NeutronLoadBalancerPoolMember ans) {
98         switch (field) {
99             case "pool_id":
100                 ans.setPoolID(this.getPoolID());
101                 break;
102             case "address":
103                 ans.setPoolMemberAddress(this.getPoolMemberAddress());
104                 break;
105             case "protocol_port":
106                 ans.setPoolMemberProtoPort(this.getPoolMemberProtoPort());
107                 break;
108             case "admin_state_up":
109                 ans.setPoolMemberAdminStateIsUp(poolMemberAdminStateIsUp);
110                 break;
111             case "weight":
112                 ans.setPoolMemberWeight(this.getPoolMemberWeight());
113                 break;
114             case "subnet_id":
115                 ans.setPoolMemberSubnetID(this.getPoolMemberSubnetID());
116                 break;
117             default:
118                 return super.extractField(field, ans);
119         }
120         return true;
121     }
122
123     @Override
124     public String toString() {
125         return "NeutronLoadBalancerPoolMember{" + "poolMemberID='" + uuid + '\'' + ", poolID='" + poolID + '\''
126                 + ", poolMemberTenantID='" + tenantID + '\'' + ", poolMemberAddress='" + poolMemberAddress + '\''
127                 + ", poolMemberProtoPort=" + poolMemberProtoPort + ", poolMemberAdminStateIsUp="
128                 + poolMemberAdminStateIsUp + ", poolMemberWeight=" + poolMemberWeight + ", poolMemberSubnetID='"
129                 + poolMemberSubnetID + '\'' + '}';
130     }
131 }