class TagLibraryMetaUtils extends java.lang.Object
Installs tags onto metaclasses.
Tags are resolved through TagLibraryLookup and invoked through
CompiledTagInvocation, so nothing needs installing onto a metaclass to call a tag. What
remains here is the dynamic dispatch that a tag library registered at runtime still relies on,
reachable through methodMissingForTagLib with metaclass installation switched off.
The methods that install onto a metaclass are deprecated individually. This class is not, because methodMissingForTagLib is how a call into a namespace no compiled tag library describes is still dispatched, and is used by the tag library invoker trait, the namespace dispatcher and a compiled page alike.
| Constructor and description |
|---|
TagLibraryMetaUtils() |
| Type Params | Return Type | Name and description |
|---|---|---|
|
static java.lang.Object |
addTagLibMethodToMetaClass(groovy.lang.GroovyObject tagBean, groovy.lang.MetaMethod method, groovy.lang.MetaClass mc) |
|
protected static boolean |
doesMethodExist(groovy.lang.MetaClass mc, java.lang.String methodName, java.lang.Class[] parameterTypes, boolean staticScope, boolean onlyReal) |
|
static void |
enhanceTagLibMetaClass(GrailsTagLibClass taglib, TagLibraryLookup gspTagLibraryLookup) |
|
static void |
enhanceTagLibMetaClass(groovy.lang.MetaClass mc, TagLibraryLookup gspTagLibraryLookup, java.lang.String namespace) |
|
static java.lang.Object |
methodMissingForTagLib(groovy.lang.MetaClass mc, java.lang.Class type, TagLibraryLookup gspTagLibraryLookup, java.lang.String namespace, java.lang.String name, java.lang.Object argsParam, boolean addMethodsToMetaClass) |
|
static java.lang.Object |
registerMethodMissingForTags(groovy.lang.MetaClass metaClass, TagLibraryLookup gspTagLibraryLookup, java.lang.String namespace, java.lang.String name, boolean addAll, boolean overrideMethods) |
|
static java.lang.Object |
registerMethodMissingForTags(groovy.lang.MetaClass mc, ApplicationContext ctx, GrailsTagLibClass tagLibraryClass, java.lang.String name) |
|
static void |
registerNamespaceMetaProperties(groovy.lang.MetaClass mc, TagLibraryLookup gspTagLibraryLookup) |
|
static void |
registerNamespaceMetaProperty(groovy.lang.MetaClass metaClass, TagLibraryLookup gspTagLibraryLookup, java.lang.String namespace) |
|
static void |
registerPropertyMissingForTag(groovy.lang.MetaClass metaClass, java.lang.String name, java.lang.Object result) |
|
static void |
registerTagMetaMethods(groovy.lang.MetaClass emc, TagLibraryLookup lookup, java.lang.String namespace, boolean overrideMethods) |
|
static void |
registerTagMethodContextMetaProperties(groovy.lang.MetaClass metaClass) |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#equals(java.lang.Object), java.lang.Object#getClass(), java.lang.Object#hashCode(), java.lang.Object#notify(), java.lang.Object#notifyAll(), java.lang.Object#toString(), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int) |