/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.plugin.hook; import java.io.IOException; import java.util.jar.Manifest; import org.eclipse.osgi.baseadaptor.BaseData; import org.eclipse.osgi.baseadaptor.bundlefile.BundleFile; import org.eclipse.osgi.baseadaptor.hooks.BundleFileWrapperFactoryHook; final class TransformerHook implements BundleFileWrapperFactoryHook { private final ManifestTransformer manifestTransformer; public TransformerHook() { this.manifestTransformer = new ManifestTransformer(); } public BundleFile wrapBundleFile( final BundleFile file, final Object content, final BaseData data, final boolean base ) throws IOException { if (!base) { return null; } final Manifest mf = this.manifestTransformer.transform( file ); final ManifestFileEntry entry = new ManifestFileEntry( mf ); return new ManifestWrappedFile( file, entry ); } }