package com.framsticks.params; import java.util.Collection; import com.framsticks.params.types.ProcedureParam; /** * The Interface AccessInterface. It's the most general class for storing data in * framsticks. In descriptions of methods names "property" and "parameter" are * synonyms. * * @author Jarek Szymczak (please replace name and * surname with my personal data) */ public interface AccessInterface { Param getParam(int i); Param getParam(String id); String getId(); int getParamCount(); Object call(String id, Object[] arguments); Object call(ProcedureParam param, Object[] arguments); T get(int i, Class type); T get(String id, Class type); T get(ValueParam param, Class type); int set(int i, T value); int set(String id, T value); int set(ValueParam param, T value); void setDefault(boolean numericOnly); void setDefault(int i, boolean numericOnly); void setMin(); void setMin(int i); void setMax(); void setMax(int i); void copyFrom(AccessInterface src); void save(SinkInterface sink); void load(SourceInterface stream); /** * Removes all the properties values. */ void clearValues(); AccessInterface select(Object object); Object getSelected(); AccessInterface cloneAccess() throws ConstructionException; Object createAccessee(); Collection getParams(); FramsClass getFramsClass(); void tryAutoAppend(Object object); }