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 String[] keysAsString(int access); 025 Collection.Key[] keys(int access); 026 Object get(int access, Collection.Key key) throws PageException; 027 Object get(int access, Collection.Key key, Object defaultValue); 028 Iterator iterator(int access); 029 DumpData toDumpData(PageContext pageContext, int maxlevel, DumpProperties dp, int access); 030 boolean contains(int access,Key name); 031 Member getMember(int access,Collection.Key key, boolean dataMember,boolean superAccess); 032 public ComponentAccess _base();// TODO do better impl 033 034 035 036 }