org.apache.tapestry.asset
Interface AssetFactory

All Known Implementing Classes:
ClasspathAssetFactory, ContextAssetFactory, DefaultAssetFactory

public interface AssetFactory

A service which creates an asset. In some cases, the asset is selected based on the Resource (typically of the component or page specification).

Since:
4.0
Author:
Howard M. Lewis Ship

Method Summary
 boolean assetExists(IComponentSpecification spec, org.apache.hivemind.Resource baseResource, String path, Locale locale)
          Invoked to check if the factory instance can find a matching asset using the appropriate strategy specific to its implementation.
 IAsset createAbsoluteAsset(String path, Locale locale, org.apache.hivemind.Location location)
          Creates a new asset relative to the root of the domain defined by the type of asset.
 IAsset createAsset(org.apache.hivemind.Resource baseResource, IComponentSpecification spec, String path, Locale locale, org.apache.hivemind.Location location)
          Creates a new asset relative to an existing asset.
 IAsset createAsset(org.apache.hivemind.Resource resource, org.apache.hivemind.Location location)
          Creates a new asset based on a known resource.
 

Method Detail

assetExists

boolean assetExists(IComponentSpecification spec,
                    org.apache.hivemind.Resource baseResource,
                    String path,
                    Locale locale)
Invoked to check if the factory instance can find a matching asset using the appropriate strategy specific to its implementation.

Parameters:
spec - The optional component specification to check the path against.
baseResource - The resource that the path may be relative to.
path - The asset path, relative to baseResource.
locale - Optional parameter when a localized version is desired. (may be null)
Returns:
True if the requested asset can be found, false otherwise.

createAsset

IAsset createAsset(org.apache.hivemind.Resource baseResource,
                   IComponentSpecification spec,
                   String path,
                   Locale locale,
                   org.apache.hivemind.Location location)
Creates a new asset relative to an existing asset.

Parameters:
spec - The optional component specification to check the path against.
baseResource - the base resource from which an asset path may be calculated. Each type of asset is linked to a particular implemenation of Resource, and generates a corresponding implementation of IAsset.
path - the path relative to the resource (if no leading slash), or an absolute path within the domain of the asset type (i.e, within the classpath, or within the web application).
locale - the desired locale of the asset; the closest match will be used.
location - the location to be associated with the returned asset, or null to not attempt to localize the asset
Returns:
The created asset.
Throws:
org.apache.hivemind.ApplicationRuntimeException - if no matching asset may be found.

createAbsoluteAsset

IAsset createAbsoluteAsset(String path,
                           Locale locale,
                           org.apache.hivemind.Location location)
Creates a new asset relative to the root of the domain defined by the type of asset.

Parameters:
path - the absolute path for the resource
locale - the locale to localize the asset to, or null for no localization
location - the location used to report any errors
Returns:
an IAsset

createAsset

IAsset createAsset(org.apache.hivemind.Resource resource,
                   org.apache.hivemind.Location location)
Creates a new asset based on a known resource.

Parameters:
resource - The resource the asset will represent.
location - Location of the resource. (used for error reporting mostly)
Returns:
The created asset.


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