+++ /dev/null
-/**
-* Copyright 2011, Big Switch Networks, Inc.
-* Originally created by David Erickson & Rob Sherwood, Stanford University
-*
-* 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.openflow.protocol.factory;
-
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.openflow.protocol.vendor.OFVendorData;
-import org.openflow.protocol.vendor.OFVendorDataType;
-import org.openflow.protocol.vendor.OFVendorId;
-
-/**
- * The interface to factories used for parsing/creating OFVendorData instances.
- * All methods are expected to be thread-safe.
- *
- * @author Rob Vaterlaus (rob.vaterlaus@bigswitch.com)
- */
-public interface OFVendorDataFactory {
- /**
- * Retrieves an OFVendorData instance corresponding to the specified
- * OFVendorId and OFVendorDataType. There are 3 possible cases for
- * how this will be called:
- *
- * 1) If the vendor id in the OFVendor message is an unknown value,
- * then this method is called with both vendorId and vendorDataType
- * set to null. In this case typically the factory method should
- * return an instance of OFGenericVendorData that just contains
- * the raw byte array of the vendor data.
- *
- * 2) If the vendor id is known but no vendor data type has been
- * registered for the data in the message, then vendorId is set to
- * the appropriate OFVendorId instance and OFVendorDataType is set
- * to null. This would typically be handled the same way as #1
- *
- * 3) If both the vendor id and and vendor data type are known, then
- * typically you'd just call the method in OFVendorDataType to
- * instantiate the appropriate subclass of OFVendorData.
- *
- * @param vendorId the vendorId of the containing OFVendor message
- * @param vendorDataType the type of the OFVendorData to be retrieved
- * @return an OFVendorData instance
- */
- public OFVendorData getVendorData(OFVendorId vendorId,
- OFVendorDataType vendorDataType);
-
- /**
- * Attempts to parse and return the OFVendorData contained in the given
- * ChannelBuffer, beginning right after the vendor id.
- * @param vendorId the vendor id that was parsed from the OFVendor message.
- * @param data the ChannelBuffer from which to parse the vendor data
- * @param length the length to the end of the enclosing message.
- * @return an OFVendorData instance
- */
- public OFVendorData parseVendorData(int vendorId, ChannelBuffer data,
- int length);
-}