package railo.runtime.type.scope; import railo.runtime.PageContext; import railo.runtime.type.Struct; /** * abstract class for all scopes */ public interface Scope extends Struct { /** * Scope Undefined */ public static final int SCOPE_UNDEFINED=0; /** * Scope Variables */ public static final int SCOPE_VARIABLES=1; /** * Scope Request */ public static final int SCOPE_REQUEST=2; /** * Scope URL */ public static final int SCOPE_URL=3; /** * Scope Form */ public static final int SCOPE_FORM=4; /** * Scope Client */ public static final int SCOPE_CLIENT=5; /** * Scope Cookie */ public static final int SCOPE_COOKIE=6; /** * Scope Session */ public static final int SCOPE_SESSION=7; /** * Scope Application */ public static final int SCOPE_APPLICATION=8; /** * Scope Arguments */ public static final int SCOPE_ARGUMENTS=9; /** * Scope CGI */ public static final int SCOPE_CGI=10; /** * Scope Server */ public static final int SCOPE_SERVER=11; /** * Scope Local */ public static final int SCOPE_LOCAL=12; /** * Scope Caller */ public static final int SCOPE_CALLER=13; public static final int SCOPE_CLUSTER=14; public static final int SCOPE_VAR=15; public static final int SCOPE_COUNT=16; /** * return if the scope is Initialiesd * @return scope is init */ public boolean isInitalized(); /** * Initalize Scope * @param pc Page Context */ public void initialize(PageContext pc); /** * release scope for reuse * @deprecated use instead <code>release(PageContext)</code> */ public void release(); /** * release scope for reuse */ public void release(PageContext pc); /** * @return return the scope type (SCOPE_SERVER, SCOPE_SESSION usw.) */ public int getType(); /** * @return return the scope type as a String (server,session usw.) */ public String getTypeAsString(); }