bd81eef88f78845f1fdae9c240f08d421d0d3ce2
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronAdminAttributes.java
1 /*
2  * Copyright (c) 2016 Intel Corporation  All rights reserved.
3  * Copyright (c) 2016 Isaku Yamahata  All rights reserved.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9
10 package org.opendaylight.neutron.spi;
11
12 import java.io.Serializable;
13 import javax.xml.bind.annotation.XmlAccessType;
14 import javax.xml.bind.annotation.XmlAccessorType;
15 import javax.xml.bind.annotation.XmlElement;
16 import javax.xml.bind.annotation.XmlRootElement;
17
18 @XmlRootElement
19 @XmlAccessorType(XmlAccessType.NONE)
20 public abstract class NeutronAdminAttributes<T extends NeutronAdminAttributes> extends NeutronBaseAttributes<T>
21         implements Serializable, INeutronAdminAttributes<T> {
22     private static final long serialVersionUID = 1L;
23
24     @XmlElement(defaultValue = "true", name = "admin_state_up")
25     Boolean adminStateUp;
26
27     @XmlElement(name = "status")
28     String status;
29
30     public NeutronAdminAttributes() {
31     }
32
33     public Boolean getAdminStateUp() {
34         return adminStateUp;
35     }
36
37     public void setAdminStateUp(Boolean adminStateUp) {
38         this.adminStateUp = adminStateUp;
39     }
40
41     public String getStatus() {
42         return status;
43     }
44
45     public void setStatus(String status) {
46         this.status = status;
47     }
48
49     @Override
50     public void initDefaults() {
51         if (adminStateUp == null) {
52             adminStateUp = true;
53         }
54         if (status == null) {
55             status = "ACTIVE";
56         }
57     }
58
59     @Override
60     protected boolean extractField(String field, T ans) {
61         switch (field) {
62             case "admin_state_up":
63                 ans.setAdminStateUp(this.getAdminStateUp());
64                 return true;
65             case "status":
66                 ans.setStatus(this.getStatus());
67                 return true;
68             default:
69                 return super.extractField(field, ans);
70         }
71     }
72 }