Package org.apache.tapestry5.services
Interface MetaDataLocator
- 
- All Known Implementing Classes:
- MetaDataLocatorImpl
 
 @UsesMappedConfiguration(java.lang.String.class) public interface MetaDataLocator Used to lookup meta data concerning a particular component. The primary source of meta data is the meta data defined for the component, accessed viaComponentModel.getMeta(String). This includes meta data defined by base classes. When meta-data for a particular component can not be found, a search works up the containment hierarchy (to the component's container, and the container's container, and so on). If that proves unfruitful, a system of defaults is provided by configuration and matched against the containing page's logical name. Finally, if no metadata is available, thenSymbolSource.valueForSymbol(String)is used to obtain a value. Generally speaking, if you are going to use this service to look up meta data, your should also make a contribution to the FactoryDefaults service; otherwise, you risk a runtime exception if a meta-data key can not be resolved.
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> TfindMeta(String key, String pageName, Class<T> expectedType)Searches for the value for the corresponding key for a particular page name (the page will not be loaded).<T> TfindMeta(String key, ComponentResources resources, Class<T> expectedType)Searches for the value for the corresponding key.
 
- 
- 
- 
Method Detail- 
findMeta<T> T findMeta(String key, ComponentResources resources, Class<T> expectedType) Searches for the value for the corresponding key. The value, if located, will have symbols expanded, and will be type coerced to the desired type.- Parameters:
- key- the key used to locate the meta data (case insensitive)
- resources- the resources of the initial component used in the search
- Returns:
- the value if found (in the component, the component's container, etc. or via a folder default)
- Throws:
- RuntimeException- if the value for the key is not present as meta data of the component, as an override, or as a symbol
 
 - 
findMeta<T> T findMeta(String key, String pageName, Class<T> expectedType) Searches for the value for the corresponding key for a particular page name (the page will not be loaded). The value, if located, will have symbols expanded, and will be type coerced to the desired type.- Parameters:
- key- the key used to locate the meta data (case insensitive)
- pageName- the name of the page to search
- Returns:
- the value if found
- Throws:
- RuntimeException- if the value for the key is not present as meta data of the page, as an override, or as a symbol
 
 
- 
 
-