package com.framsticks.core; import javax.annotation.Nonnull; import com.framsticks.communication.queries.NeedFileAcceptor; import com.framsticks.params.Access; import com.framsticks.params.CompositeParam; import com.framsticks.params.EventListener; import com.framsticks.params.FramsClass; import com.framsticks.params.PrimitiveParam; import com.framsticks.params.Registry; import com.framsticks.params.types.EventParam; import com.framsticks.params.types.ProcedureParam; import com.framsticks.util.dispatching.Dispatcher; import com.framsticks.util.dispatching.DispatcherSetable; import com.framsticks.util.dispatching.ExceptionResultHandler; import com.framsticks.util.dispatching.Future; import com.framsticks.util.dispatching.Joinable; public interface Tree extends Dispatcher, DispatcherSetable, Joinable, ExceptionResultHandler { public @Nonnull Node getAssignedRoot(); public void assignRootParam(CompositeParam param); public void assignRootObject(Object object); public @Nonnull Access prepareAccess(CompositeParam param); public void takeAllFrom(Registry source); public FramsClass getInfoFromCache(String id); public void putInfoIntoCache(FramsClass framclass); // /** // * // * Functions accepts ValueParam, because it is also possible to get number of List elements. // * // */ // public void get(Path path, ValueParam param, Future future); public void get(Path path, Future future); public void call(Path path, ProcedureParam param, Object[] arguments, Class resultType, Future future); /** * * Functions accepts PrimitiveParam, because it is not possible to set number of List elements. * */ public void set(Path path, PrimitiveParam param, Object value, Future future); public void info(Path path, Future future); public void setExceptionHandler(ExceptionResultHandler handler); public ExceptionResultHandler getExceptionHandler(); // public void setDispatcher(Dispatcher dispatcher); // public Dispatcher getDispatcher(); public void addListener(Path path, EventParam param, EventListener listener, Class argumentType, Future future); public void removeListener(Path path, EventParam param, EventListener listener, Future future); public Registry getRegistry(); public void putSideNote(Object object, SideNoteKey key, T value); public boolean removeSideNote(Object object, SideNoteKey key); public T getSideNote(Object object, SideNoteKey key); public void addNeedFileAcceptor(int priority, NeedFileAcceptor acceptor); public void removeNeedFileAcceptor(NeedFileAcceptor acceptor); }