/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.onrc.onos.ofcontroller.flowmanager;

public enum DBOperationType {
    ADD,
    UPDATE,
    QUERY,
    REMOVE,
    INVALID
}

