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

/**
 *
 * @author nickkaranatsios
 */
public enum ApplnObjectType {
    FLOWPATH,
    FLOWENTRY,  
    UNKNOWN
}

