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