/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.plugin.hook;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
import org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry;
final class ManifestFileEntry
extends BundleEntry
{
private final byte[] bytes;
public ManifestFileEntry( final Manifest mf )
throws IOException
{
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
mf.write( bos );
this.bytes = bos.toByteArray();
}
@Override
public URL getFileURL()
{
return null;
}
@Override
public InputStream getInputStream()
{
return new ByteArrayInputStream( this.bytes );
}
@Override
public URL getLocalURL()
{
return null;
}
@Override
public String getName()
{
return JarFile.MANIFEST_NAME;
}
@Override
public long getSize()
{
return this.bytes.length;
}
@Override
public long getTime()
{
return -1;
}
@Override
public byte[] getBytes()
{
return this.bytes;
}
}