org.apache.tapestry5.internal.services
Class ComponentClassResolverImpl

java.lang.Object
  extended by org.apache.tapestry5.internal.services.ComponentClassResolverImpl
All Implemented Interfaces:
ComponentClassResolver, InvalidationListener

public class ComponentClassResolverImpl
extends Object
implements ComponentClassResolver, InvalidationListener


Constructor Summary
ComponentClassResolverImpl(org.slf4j.Logger logger, ComponentInstantiatorSource componentInstantiatorSource, ClassNameLocator classNameLocator, String appRootPackage, Collection<LibraryMapping> mappings)
           
 
Method Summary
 String canonicalizePageName(String pageName)
          Returns the canonical form of a logical page name.
 List<String> getPageNames()
          Returns a list of all logical page names, in sorted order.
 boolean isPageName(String pageName)
          For a particular path, determines if the path is a logical page name.
 void objectWasInvalidated()
          When the class loader is invalidated, clear any cached page names or component types.
 String resolveComponentTypeToClassName(String componentType)
          Converts a component type (a logical component name such as might be used inside a template or annotation) into a fully qualified class name.
 String resolveMixinTypeToClassName(String mixinType)
          Converts a logical mixin type (as with component types) into a fully qualified class name.
 String resolvePageClassNameToPageName(String pageClassName)
          Converts a fully qualified page class name into a logical class name (often, for inclusion as part of the URI).
 String resolvePageNameToClassName(String pageName)
          Converts a logical page name (such as might be encoded into a URL) into a fully qualified class name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComponentClassResolverImpl

public ComponentClassResolverImpl(org.slf4j.Logger logger,
                                  ComponentInstantiatorSource componentInstantiatorSource,
                                  ClassNameLocator classNameLocator,
                                  @Inject@Symbol(value="tapestry.app-package")
                                  String appRootPackage,
                                  Collection<LibraryMapping> mappings)
Method Detail

objectWasInvalidated

public void objectWasInvalidated()
When the class loader is invalidated, clear any cached page names or component types.

Specified by:
objectWasInvalidated in interface InvalidationListener

resolvePageNameToClassName

public String resolvePageNameToClassName(String pageName)
Description copied from interface: ComponentClassResolver
Converts a logical page name (such as might be encoded into a URL) into a fully qualified class name. The case of the page name is irrelevant.

Specified by:
resolvePageNameToClassName in interface ComponentClassResolver
Parameters:
pageName - logical page name
Returns:
fully qualified class name for the page

isPageName

public boolean isPageName(String pageName)
Description copied from interface: ComponentClassResolver
For a particular path, determines if the path is a logical page name. The check is case insensitive.

Specified by:
isPageName in interface ComponentClassResolver
Parameters:
pageName - potential logical page name
Returns:
true if the page name is valid

getPageNames

public List<String> getPageNames()
Description copied from interface: ComponentClassResolver
Returns a list of all logical page names, in sorted order.

Specified by:
getPageNames in interface ComponentClassResolver

resolveComponentTypeToClassName

public String resolveComponentTypeToClassName(String componentType)
Description copied from interface: ComponentClassResolver
Converts a component type (a logical component name such as might be used inside a template or annotation) into a fully qualified class name. Case is ignored in resolving the name.

Specified by:
resolveComponentTypeToClassName in interface ComponentClassResolver
Parameters:
componentType - a logical component type
Returns:
fully qualified class name

resolveMixinTypeToClassName

public String resolveMixinTypeToClassName(String mixinType)
Description copied from interface: ComponentClassResolver
Converts a logical mixin type (as with component types) into a fully qualified class name. Case is ignored when resolving the name.

Specified by:
resolveMixinTypeToClassName in interface ComponentClassResolver
Parameters:
mixinType - a logical mixin type
Returns:
fully qualified class name

resolvePageClassNameToPageName

public String resolvePageClassNameToPageName(String pageClassName)
Description copied from interface: ComponentClassResolver
Converts a fully qualified page class name into a logical class name (often, for inclusion as part of the URI). This value may later be passed to ComponentClassResolver.resolvePageNameToClassName(String).

Specified by:
resolvePageClassNameToPageName in interface ComponentClassResolver
Parameters:
pageClassName - fully qualified name of a page class
Returns:
equivalent logical page name

canonicalizePageName

public String canonicalizePageName(String pageName)
Description copied from interface: ComponentClassResolver
Returns the canonical form of a logical page name. The canonical form uses character case matching the underlying class name.

Specified by:
canonicalizePageName in interface ComponentClassResolver


Copyright © 2006-2009 Apache Software Foundation. All Rights Reserved.