org.apache.wicket.markup
Interface IMarkupCache

All Known Implementing Classes:
MarkupCache

public interface IMarkupCache

Each Wicket application has a single IMarkupCache associated with it (see IMarkupSettings ). The markup cache is used by every Component to get its associated markup stream. Note that it is the markup caches responsibility to load the markup, if not yet done.

Author:
Juergen Donnerstag

Method Summary
 void clear()
          Clear markup cache and force reload of all markup data
 Markup getMarkup(MarkupContainer container, Class<?> clazz, boolean enforceReload)
          Gets any (immutable) markup resource for the container or any of its parent classes (markup inheritance)
 MarkupStream getMarkupStream(MarkupContainer container, boolean enforceReload, boolean throwException)
          Gets a fresh markup stream that contains the (immutable) markup resource for this class.
 boolean hasAssociatedMarkup(MarkupContainer container)
          Check if container has associated markup
 Markup removeMarkup(String cacheKey)
          Remove the markup associated with the cache key from the cache including all dependent markups (markup inheritance)
 void shutdown()
          Will be called by the application while shutting down.
 int size()
           
 

Method Detail

clear

void clear()
Clear markup cache and force reload of all markup data


getMarkup

Markup getMarkup(MarkupContainer container,
                 Class<?> clazz,
                 boolean enforceReload)
Gets any (immutable) markup resource for the container or any of its parent classes (markup inheritance)

Parameters:
container - The original requesting markup container
clazz - The class to get the associated markup for. If null, the container's class is used, but it can be a parent class of the container as well (markup inheritance)
enforceReload - The cache will be ignored and all, including inherited markup files, will be reloaded. Whatever is in the cache, it will be ignored
Returns:
Markup resource

getMarkupStream

MarkupStream getMarkupStream(MarkupContainer container,
                             boolean enforceReload,
                             boolean throwException)
Gets a fresh markup stream that contains the (immutable) markup resource for this class.

Parameters:
container - The container the markup should be associated with
enforceReload - The cache will be ignored and all, including inherited markup files, will be reloaded. Whatever is in the cache, it will be ignored
throwException - If true, throw an exception, if markup could not be found
Returns:
A stream of MarkupElement elements

hasAssociatedMarkup

boolean hasAssociatedMarkup(MarkupContainer container)
Check if container has associated markup

Parameters:
container - The container the markup should be associated with
Returns:
True if this markup container has associated markup

removeMarkup

Markup removeMarkup(String cacheKey)
Remove the markup associated with the cache key from the cache including all dependent markups (markup inheritance)

Parameters:
cacheKey -
Returns:
The markup removed from the cache. Null, if nothing was found.
See Also:
MarkupResourceStream.getCacheKey()

size

int size()
Returns:
the number of elements currently in the cache.

shutdown

void shutdown()
Will be called by the application while shutting down. It allows the markup cache to cleanup if necessary.



Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.