package org.archstudio.bna; public interface IThingLogicManager { public void addThingLogicManagerListener(IThingLogicManagerListener l); public void removeThingLogicManagerListener(IThingLogicManagerListener l); public void dispose(); public <L extends IThingLogic> L addThingLogic(Class<L> logicClass); public <L extends IThingLogic> L addThingLogic(L thingLogic); public void removeThingLogic(IThingLogic thingLogic); public Iterable<IThingLogic> getAllThingLogics(); public <T> T getThingLogic(Class<T> ofType); public <T> Iterable<T> getThingLogics(Class<T> ofType); }