package railo.runtime.type.cfc; import java.util.Iterator; import java.util.Set; import railo.runtime.ComponentPro; import railo.runtime.PageContext; import railo.runtime.component.Member; import railo.runtime.dump.DumpData; import railo.runtime.dump.DumpProperties; import railo.runtime.exp.PageException; import railo.runtime.type.Collection; import railo.runtime.type.Struct; public interface ComponentAccess extends ComponentPro { public boolean isPersistent(); public Object getMetaStructItem(Collection.Key name); Set<Key> keySet(int access); Object call(PageContext pc, int access, Collection.Key name, Object[] args) throws PageException; Object callWithNamedValues(PageContext pc, int access, Collection.Key name, Struct args) throws PageException; int size(int access); Collection.Key[] keys(int access); Iterator<Collection.Key> keyIterator(int access); Iterator<String> keysAsStringIterator(int access); Iterator<Entry<Key, Object>> entryIterator(int access); Iterator<Object> valueIterator(int access); Object get(int access, Collection.Key key) throws PageException; Object get(int access, Collection.Key key, Object defaultValue); DumpData toDumpData(PageContext pageContext, int maxlevel, DumpProperties dp, int access); boolean contains(int access,Key name); Member getMember(int access,Collection.Key key, boolean dataMember,boolean superAccess); public ComponentAccess _base();// TODO do better impl //public boolean isRest(); public void setEntity(boolean entity); public boolean isEntity(); }