Updated L2Gw changes in "neutronvpn", "elanmanager" and "dhcpservice" modules
[vpnservice.git] / mdsalutil / mdsalutil-api / src / main / java / org / opendaylight / vpnservice / mdsalutil / GroupEntity.java
1 /*
2  * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others.  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 package org.opendaylight.vpnservice.mdsalutil;
9
10 import java.math.BigInteger;
11
12 import java.util.List;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupBuilder;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupKey;
17
18 public class GroupEntity extends AbstractSwitchEntity {
19     private static final long serialVersionUID = 1L;
20
21     private long m_lGroupId;
22     private String m_sGroupName;
23     private GroupTypes m_groupType;
24     private List<BucketInfo> m_listBucketInfo;
25
26     private transient GroupBuilder m_groupBuilder;
27
28     public GroupEntity(BigInteger dpnId) {
29         super(dpnId);
30     }
31
32     @Override
33     public String toString() {
34         return "GroupEntity [m_lGroupId=" + m_lGroupId + ", m_sGroupName=" + m_sGroupName + ", m_groupType="
35                 + m_groupType + ", m_listBucketInfo=" + m_listBucketInfo + ", toString()=" + super.toString() + "]";
36     }
37
38     public List<BucketInfo> getBucketInfoList() {
39         return m_listBucketInfo;
40     }
41
42     public GroupBuilder getGroupBuilder() {
43         if (m_groupBuilder == null) {
44             m_groupBuilder = new GroupBuilder();
45
46             GroupId groupId = new GroupId(getGroupId());
47             m_groupBuilder.setKey(new GroupKey(groupId));
48             m_groupBuilder.setGroupId(groupId);
49
50             m_groupBuilder.setGroupName(getGroupName());
51             m_groupBuilder.setGroupType(getGroupType());
52             m_groupBuilder.setBuckets(MDSALUtil.buildBuckets(getBucketInfoList()));
53         }
54
55         return m_groupBuilder;
56     }
57
58     public long getGroupId() {
59         return m_lGroupId;
60     }
61
62     public String getGroupName() {
63         return m_sGroupName;
64     }
65
66     public GroupTypes getGroupType() {
67         return m_groupType;
68     }
69
70     public void setBucketInfoList(List<BucketInfo> listBucketInfo) {
71         m_listBucketInfo = listBucketInfo;
72     }
73
74     public void setGroupId(long lGroupId) {
75         m_lGroupId = lGroupId;
76         if (m_groupBuilder != null) {
77             GroupId groupId = new GroupId(getGroupId());
78             m_groupBuilder.setKey(new GroupKey(groupId));
79             m_groupBuilder.setGroupId(groupId);
80         }
81     }
82
83     public void setGroupName(String sGroupName) {
84         m_sGroupName = sGroupName;
85         m_groupBuilder = null;
86     }
87
88     public void setGroupType(GroupTypes groupType) {
89         m_groupType = groupType;
90         m_groupBuilder = null;
91     }
92 }