I always keep a copy of the tapestry source code handy. If I search
"*Module.java" for AssetFactory I find out how tapestry adds a
ContextAssetFactory and a ClasspathAssetFactory.

    @Marker(ContextProvider.class)
    public AssetFactory buildContextAssetFactory(ApplicationGlobals
globals, AssetPathConstructor assetPathConstructor, AssetPathConverter
converter)
    {
        return new ContextAssetFactory(assetPathConstructor,
globals.getContext(), converter);
    }

    @Marker(ClasspathProvider.class)
    public AssetFactory buildClasspathAssetFactory(ResourceDigestManager
resourceDigestManager, ClasspathAssetAliasManager aliasManager,
AssetPathConverter converter)
    {
        ClasspathAssetFactory factory = new
ClasspathAssetFactory(resourceDigestManager, aliasManager, converter);

        resourceDigestManager.addInvalidationListener(factory);

        return factory;
    }

    public void contributeAssetSource(MappedConfiguration<String,
AssetFactory> configuration, @ContextProvider AssetFactory
contextAssetFactory, @ClasspathProvider AssetFactory classpathAssetFactory)

    {
        configuration.add(AssetConstants.CONTEXT, contextAssetFactory);
        configuration.add(AssetConstants.CLASSPATH, classpathAssetFactory);
    }

Reply via email to