Package org.apache.velocity.context

# Interface InternalContextAdapter

All Superinterfaces:
  `Context`, `InternalEventContext`, `InternalWrapperContext`

All Known Implementing Classes:
  `ChainedInternalContextAdapter`, `InternalContextAdapterImpl`

public interface InternalContextAdapter extends Context, InternalWrapperContext, InternalEventContext
interface to bring all necessary internal and user contexts together. this is what the AST expects to deal with. If anything new comes along, add it here. I will rename soon :)

Version:
  $Id$
Author:
  Geir Magnusson Jr.

## Method Summary

Modifier and Type
Method
Description
`int`
`getCurrentMacroCallDepth()`
get the current macro call depth
`String`
`getCurrentMacroName()`
get the current macro name
`Resource`
`getCurrentResource()`
temporary fix to enable #include() to figure out current encoding.
`String`
`getCurrentTemplateName()`
get the current template name
`List<Template>`
`getMacroLibraries()`
Get the macro library list for the current template.
`String[]`
`getMacroNameStack()`
Returns the macro name stack in form of an array.
`String[]`
`getTemplateNameStack()`
Returns the template name stack in form of an array.
`IntrospectionCacheData`
`icacheGet(Object key)`
returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the key
`void`
`icachePut(Object key, IntrospectionCacheData o)`
places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified key
`void`
`popCurrentMacroName()`
remove the current macro name from stack
`void`
`popCurrentTemplateName()`
remove the current template name from stack
`void`
`pushCurrentMacroName(String s)`
set the current macro name on top of stack
`void`
`pushCurrentTemplateName(String s)`
set the current template name on top of stack
`void`
`setCurrentResource(Resource r)`
`void`
`setMacroLibraries(List<Template> macroLibraries)`
Set the macro library list for the current template.

### Methods inherited from interface org.apache.velocity.context.Context

`containsKey, get, getKeys, put, remove`

### Methods inherited from interface org.apache.velocity.context.InternalEventContext

`attachEventCartridge, getEventCartridge`

### Methods inherited from interface org.apache.velocity.context.InternalWrapperContext

`containsKey, get, getBaseContext, getInternalUserContext, put`

## Method Details

### pushCurrentTemplateName

void pushCurrentTemplateName(String s)
set the current template name on top of stack

Parameters:
  `s` - current template name

### popCurrentTemplateName

void popCurrentTemplateName()
remove the current template name from stack

### getCurrentTemplateName

String getCurrentTemplateName()
get the current template name

Returns:
  String current template name

### getTemplateNameStack

String[] getTemplateNameStack()
Returns the template name stack in form of an array.

Returns:
  String[] with the template name stack contents.

### pushCurrentMacroName

void pushCurrentMacroName(String s)
set the current macro name on top of stack

Parameters:
  `s` - current macro name

### popCurrentMacroName

void popCurrentMacroName()
remove the current macro name from stack

### getCurrentMacroName

String getCurrentMacroName()
get the current macro name

Returns:
  String current macro name

### getCurrentMacroCallDepth

int getCurrentMacroCallDepth()
get the current macro call depth

Returns:
  int current macro call depth

### getMacroNameStack

String[] getMacroNameStack()
Returns the macro name stack in form of an array.

Returns:
  String[] with the macro name stack contents.

### icacheGet

IntrospectionCacheData icacheGet(Object key)
returns an IntrospectionCache Data (@see IntrospectionCacheData) object if exists for the key

Parameters:
  `key` - key to find in cache
Returns:
  cache object

### icachePut

void icachePut(Object key, IntrospectionCacheData o)
places an IntrospectionCache Data (@see IntrospectionCacheData) element in the cache for specified key

Parameters:
  `key` - key
  `o` - IntrospectionCacheData object to place in cache

### getCurrentResource

Resource getCurrentResource()
temporary fix to enable #include() to figure out current encoding.

Returns:
  The current resource.

### setCurrentResource

void setCurrentResource(Resource r)

Parameters:
  `r` -

### setMacroLibraries

void setMacroLibraries(List<Template> macroLibraries)
Set the macro library list for the current template.

Parameters:
  `macroLibraries` - list of macro libraries to set

### getMacroLibraries

List<Template> getMacroLibraries()
Get the macro library list for the current template.

Returns:
  List of macro library names