| /* |
| * Copyright 2015-present 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<Long> 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<String> 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<String> 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<String> 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<String> 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<String, String> externalIds) { |
| ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.EXTERNALIDS.columnName(), |
| "setExternalIds", VersionNum.VERSION750); |
| super.setDataHandler(columndesc, externalIds); |
| } |
| |
| } |