From e63291850fd0795c5700e25e67e5dee89ba54c5f Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Tue, 1 Dec 2015 05:49:27 -0800 Subject: onos commit hash c2999f30c69e50df905a9d175ef80b3f23a98514 Change-Id: I2bb8562c4942b6d6a6d60b663db2e17540477b81 Signed-off-by: Ashlee Young --- .../org/onosproject/ovsdb/rfc/table/FlowTable.java | 196 +++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java (limited to 'framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java') diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java new file mode 100644 index 00000000..ed1c217a --- /dev/null +++ b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java @@ -0,0 +1,196 @@ +/* + * Copyright 2015 Open Networking Laboratory + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.onosproject.ovsdb.rfc.table; + +import java.util.Map; +import java.util.Set; + +import org.onosproject.ovsdb.rfc.notation.Column; +import org.onosproject.ovsdb.rfc.notation.Row; +import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; +import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; +import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; + +/** + * This class provides operations of FlowTable Table. + */ +public class FlowTable extends AbstractOvsdbTableService { + /** + * FlowTable table column name. + */ + public enum FlowTableColumn { + FLOWLIMIT("flow_limit"), OVERFLOWPOLICY("overflow_policy"), GROUPS("groups"), NAME("name"), + PREFIXES("prefixes"), EXTERNALIDS("external_ids"); + + private final String columnName; + + private FlowTableColumn(String columnName) { + this.columnName = columnName; + } + + /** + * Returns the table column name for FlowTableColumn. + * @return the table column name + */ + public String columnName() { + return columnName; + } + } + + /** + * Constructs a FlowTable object. Generate FlowTable Table Description. + * @param dbSchema DatabaseSchema + * @param row Row + */ + public FlowTable(DatabaseSchema dbSchema, Row row) { + super(dbSchema, row, OvsdbTable.FLWTABLE, VersionNum.VERSION650); + } + + /** + * Get the Column entity which column name is "flow_limit" from the Row + * entity of attributes. + * @return the Column entity which column name is "flow_limit" + */ + public Column getFlowLimitColumn() { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.FLOWLIMIT.columnName(), + "getFlowLimitColumn", VersionNum.VERSION650); + return (Column) super.getColumnHandler(columndesc); + } + + /** + * Add a Column entity which column name is "flow_limit" to the Row entity + * of attributes. + * @param flowLimit the column data which column name is "flow_limit" + */ + public void setFlowLimit(Set flowLimit) { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.FLOWLIMIT.columnName(), + "setFlowLimit", VersionNum.VERSION650); + super.setDataHandler(columndesc, flowLimit); + } + + /** + * Get the Column entity which column name is "overflow_policy" from the Row + * entity of attributes. + * @return the Column entity which column name is "overflow_policy" + */ + public Column getOverflowPolicyColumn() { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.OVERFLOWPOLICY.columnName(), + "getOverflowPolicyColumn", VersionNum.VERSION650); + return (Column) super.getColumnHandler(columndesc); + } + + /** + * Add a Column entity which column name is "overflow_policy" to the Row + * entity of attributes. + * @param overflowPolicy the column data which column name is + * "overflow_policy" + */ + public void setOverflowPolicy(Set overflowPolicy) { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.OVERFLOWPOLICY.columnName(), + "setOverflowPolicy", VersionNum.VERSION650); + super.setDataHandler(columndesc, overflowPolicy); + } + + /** + * Get the Column entity which column name is "groups" from the Row entity + * of attributes. + * @return the Column entity which column name is "groups" + */ + public Column getGroupsColumn() { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.GROUPS.columnName(), + "getGroupsColumn", VersionNum.VERSION650); + return (Column) super.getColumnHandler(columndesc); + } + + /** + * Add a Column entity which column name is "groups" to the Row entity of + * attributes. + * @param groups the column data which column name is "groups" + */ + public void setGroups(Set groups) { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.GROUPS.columnName(), + "setGroups", VersionNum.VERSION650); + super.setDataHandler(columndesc, groups); + } + + /** + * Get the Column entity which column name is "name" from the Row entity of + * attributes. + * @return the Column entity which column name is "name" + */ + public Column getNameColumn() { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.NAME.columnName(), + "getNameColumn", VersionNum.VERSION650); + return (Column) super.getColumnHandler(columndesc); + } + + /** + * Add a Column entity which column name is "name" to the Row entity of + * attributes. + * @param name the column data which column name is "name" + */ + public void setName(Set name) { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.NAME.columnName(), + "setName", + VersionNum.VERSION650); + super.setDataHandler(columndesc, name); + } + + /** + * Get the Column entity which column name is "prefixes" from the Row entity + * of attributes. + * @return the Column entity which column name is "prefixes" + */ + public Column getPrefixesColumn() { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.PREFIXES.columnName(), + "getPrefixesColumn", VersionNum.VERSION740); + return (Column) super.getColumnHandler(columndesc); + } + + /** + * Add a Column entity which column name is "prefixes" to the Row entity of + * attributes. + * @param prefixes the column data which column name is "prefixes" + */ + public void setPrefixes(Set prefixes) { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.PREFIXES.columnName(), + "setPrefixes", VersionNum.VERSION740); + super.setDataHandler(columndesc, prefixes); + } + + /** + * Get the Column entity which column name is "external_ids" from the Row + * entity of attributes. + * @return the Column entity which column name is "external_ids" + */ + public Column getExternalIdsColumn() { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.EXTERNALIDS.columnName(), + "getExternalIdsColumn", VersionNum.VERSION750); + return (Column) super.getColumnHandler(columndesc); + } + + /** + * Add a Column entity which column name is "external_ids" to the Row entity + * of attributes. + * @param externalIds the column data which column name is "external_ids" + */ + public void setExternalIds(Map externalIds) { + ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.EXTERNALIDS.columnName(), + "setExternalIds", VersionNum.VERSION750); + super.setDataHandler(columndesc, externalIds); + } + +} -- cgit 1.2.3-korg