/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.forwardingrulesmanager; import java.util.HashSet; import java.util.Set; /** * PortGroup is a simple data-structure to represent any arbitrary group of * ports on a Switch (that is represented using its switch-ID). * * PortGroup is used by PortGroupProvider application to signal a set of ports * that represent a configured PortGroupConfig. * * */ public class PortGroup { private long matrixSwitchId; private Set ports; /** * PortGroup Constructor using Switch and Ports. * * @param matrixSwitchId * Switch Id that represents an openflow Switch * @param ports * Set of short values representing openflow port-ids. */ public PortGroup(long matrixSwitchId, Set ports) { super(); this.matrixSwitchId = matrixSwitchId; this.ports = ports; } /** * PortGroup Constructor using Switch. * * @param matrixSwitchId * Switch-Id that represents an openflow Switch */ public PortGroup(long matrixSwitchId) { this.matrixSwitchId = matrixSwitchId; this.ports = new HashSet(); } /** * Returns the switchId representing the Switch that makes this PortGroup. * * @return long switchId */ public long getMatrixSwitchId() { return matrixSwitchId; } /** * Assigns a Switch to this PortGroup * * @param matrixSwitchId * Switch-Id that represents an openflow Switch */ public void setMatrixSwitchId(long matrixSwitchId) { this.matrixSwitchId = matrixSwitchId; } /** * Returns the Set of Ports that makes this PortGroup. * * @return Set of short values representing openflow port-ids. */ public Set getPorts() { return ports; } /** * Assigns a set of openflow ports to this PortGroup * * @param ports * Set of short values representing openflow port-ids. */ public void setPorts(Set ports) { this.ports = ports; } /** * Adds a port to this PortGroup * * @param port * Short value of a openflow port. */ public void addPort(short port) { ports.add(port); } @Override public String toString() { return "PortGroup [matrixSwitchId=" + matrixSwitchId + ", ports=" + ports + "]"; } }