001 package railo.runtime.type.cfc; 002 003 import java.util.Iterator; 004 import java.util.Set; 005 006 import railo.runtime.ComponentPro; 007 import railo.runtime.PageContext; 008 import railo.runtime.component.Member; 009 import railo.runtime.dump.DumpData; 010 import railo.runtime.dump.DumpProperties; 011 import railo.runtime.exp.PageException; 012 import railo.runtime.type.Collection; 013 import railo.runtime.type.Struct; 014 015 public interface ComponentAccess extends ComponentPro { 016 017 public boolean isPersistent(); 018 public Object getMetaStructItem(Collection.Key name); 019 020 Set<Key> keySet(int access); 021 Object call(PageContext pc, int access, Collection.Key name, Object[] args) throws PageException; 022 Object callWithNamedValues(PageContext pc, int access, Collection.Key name, Struct args) throws PageException; 023 int size(int access); 024 Collection.Key[] keys(int access); 025 026 Iterator<Collection.Key> keyIterator(int access); 027 Iterator<String> keysAsStringIterator(int access); 028 029 030 Iterator<Entry<Key, Object>> entryIterator(int access); 031 Iterator<Object> valueIterator(int access); 032 033 Object get(int access, Collection.Key key) throws PageException; 034 Object get(int access, Collection.Key key, Object defaultValue); 035 DumpData toDumpData(PageContext pageContext, int maxlevel, DumpProperties dp, int access); 036 boolean contains(int access,Key name); 037 Member getMember(int access,Collection.Key key, boolean dataMember,boolean superAccess); 038 public ComponentAccess _base();// TODO do better impl 039 //public boolean isRest(); 040 041 042 043 }