blob: eb75edea41ab81256e5a5a6d82baa39429b66113 [file] [log] [blame]
package org.onlab.onos.net.device;
import org.onlab.onos.net.AbstractDescription;
import org.onlab.onos.net.PortNumber;
import org.onlab.onos.net.SparseAnnotations;
/**
* Default implementation of immutable port description.
*/
public class DefaultPortDescription extends AbstractDescription
implements PortDescription {
private final PortNumber number;
private final boolean isEnabled;
/**
* Creates a port description using the supplied information.
*
* @param number port number
* @param isEnabled port enabled state
* @param annotations optional key/value annotations map
*/
public DefaultPortDescription(PortNumber number, boolean isEnabled,
SparseAnnotations... annotations) {
super(annotations);
this.number = number;
this.isEnabled = isEnabled;
}
/**
* Creates a port description using the supplied information.
*
* @param base PortDescription to get basic information from
* @param annotations optional key/value annotations map
*/
public DefaultPortDescription(PortDescription base,
SparseAnnotations annotations) {
this(base.portNumber(), base.isEnabled(), annotations);
}
@Override
public PortNumber portNumber() {
return number;
}
@Override
public boolean isEnabled() {
return isEnabled;
}
}