/*
* Copyright (c) 2015 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.openflowplugin.applications.notification.supplier.tools;
/**
* Class is designed as ConfigSubsitem settings holder
*/
public class NotificationProviderConfig {
private final boolean flowSupport;
private final boolean meterSupport;
private final boolean groupSupport;
private final boolean nodeConnectorStatSupport;
private final boolean flowTableStatSupport;
private final boolean groupStatSupport;
private final boolean meterStatSupport;
private final boolean queueStatSupport;
private final boolean flowStatSupport;
private NotificationProviderConfig(final NotificationProviderConfigBuilder builder) {
this.flowSupport = builder.isFlowSupport();
this.meterSupport = builder.isMeterSupport();
this.groupSupport = builder.isGroupSupport();
this.nodeConnectorStatSupport = builder.isNodeConnectorStatSupport();
this.flowTableStatSupport = builder.isFlowTableStatSupport();
this.groupStatSupport = builder.isGroupStatSupport();
this.meterStatSupport = builder.isMeterStatSupport();
this.queueStatSupport = builder.isQueueStatSupport();
this.flowStatSupport = builder.isFlowStatSupport();
}
public boolean isFlowSupport() {
return flowSupport;
}
public boolean isMeterSupport() {
return meterSupport;
}
public boolean isGroupSupport() {
return groupSupport;
}
public boolean isNodeConnectorStatSupport() {
return nodeConnectorStatSupport;
}
public boolean isFlowTableStatSupport() {
return flowTableStatSupport;
}
public boolean isGroupStatSupport() {
return groupStatSupport;
}
public boolean isMeterStatSupport() {
return meterStatSupport;
}
public boolean isQueueStatSupport() {
return queueStatSupport;
}
public boolean isFlowStatSupport() {
return flowStatSupport;
}
public static NotificationProviderConfigBuilder builder() {
return new NotificationProviderConfigBuilder();
}
public static class NotificationProviderConfigBuilder {
private boolean flowSupport;
private boolean meterSupport;
private boolean groupSupport;
private boolean nodeConnectorStatSupport;
private boolean flowTableStatSupport;
private boolean groupStatSupport;
private boolean meterStatSupport;
private boolean queueStatSupport;
private boolean flowStatSupport;
public boolean isFlowSupport() {
return flowSupport;
}
public void setFlowSupport(final boolean flowSupport) {
this.flowSupport = flowSupport;
}
public boolean isMeterSupport() {
return meterSupport;
}
public void setMeterSupport(final boolean meterSupport) {
this.meterSupport = meterSupport;
}
public boolean isGroupSupport() {
return groupSupport;
}
public void setGroupSupport(final boolean groupSupport) {
this.groupSupport = groupSupport;
}
public boolean isNodeConnectorStatSupport() {
return nodeConnectorStatSupport;
}
public void setNodeConnectorStatSupport(final boolean nodeConnectorStatSupport) {
this.nodeConnectorStatSupport = nodeConnectorStatSupport;
}
public boolean isFlowTableStatSupport() {
return flowTableStatSupport;
}
public void setFlowTableStatSupport(final boolean flowTableStatSupport) {
this.flowTableStatSupport = flowTableStatSupport;
}
public boolean isGroupStatSupport() {
return groupStatSupport;
}
public void setGroupStatSupport(final boolean groupStatSupport) {
this.groupStatSupport = groupStatSupport;
}
public boolean isMeterStatSupport() {
return meterStatSupport;
}
public void setMeterStatSupport(final boolean meterStatSupport) {
this.meterStatSupport = meterStatSupport;
}
public boolean isQueueStatSupport() {
return queueStatSupport;
}
public void setQueueStatSupport(final boolean queueStatSupport) {
this.queueStatSupport = queueStatSupport;
}
public boolean isFlowStatSupport() {
return flowStatSupport;
}
public void setFlowStatSupport(final boolean flowStatSupport) {
this.flowStatSupport = flowStatSupport;
}
public NotificationProviderConfig build() {
return new NotificationProviderConfig(this);
}
}
}