3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
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
10 package org.opendaylight.controller.forwardingrulesmanager;
12 import java.util.HashSet;
16 * PortGroup is a simple data-structure to represent any arbitrary group of ports
17 * on a Switch (that is represented using its switch-ID).
19 * PortGroup is used by PortGroupProvider application to signal a set of ports that
20 * represent a configured PortGroupConfig.
24 public class PortGroup {
25 private long matrixSwitchId;
26 private Set<Short> ports;
29 * PortGroup Constructor using Switch and Ports.
31 * @param matrixSwitchId Switch Id that represents an openflow Switch
32 * @param ports Set of short values representing openflow port-ids.
34 public PortGroup(long matrixSwitchId, Set<Short> ports) {
36 this.matrixSwitchId = matrixSwitchId;
41 * PortGroup Constructor using Switch.
43 * @param matrixSwitchId Switch-Id that represents an openflow Switch
45 public PortGroup(long matrixSwitchId) {
46 this.matrixSwitchId = matrixSwitchId;
47 this.ports = new HashSet<Short>();
51 * Returns the switchId representing the Switch that makes this PortGroup.
53 * @return long switchId
55 public long getMatrixSwitchId() {
56 return matrixSwitchId;
60 * Assigns a Switch to this PortGroup
62 * @param matrixSwitchId Switch-Id that represents an openflow Switch
64 public void setMatrixSwitchId(long matrixSwitchId) {
65 this.matrixSwitchId = matrixSwitchId;
69 * Returns the Set of Ports that makes this PortGroup.
71 * @return Set of short values representing openflow port-ids.
73 public Set<Short> getPorts() {
78 * Assigns a set of openflow ports to this PortGroup
80 * @param ports Set of short values representing openflow port-ids.
82 public void setPorts(Set<Short> ports) {
87 * Adds a port to this PortGroup
89 * @param port Short value of a openflow port.
91 public void addPort(short port) {
96 public String toString() {
97 return "PortGroup [matrixSwitchId=" + matrixSwitchId + ", ports="