com.springsource.bundlor.support
Interface ArtifactAnalyzer

All Known Implementing Classes:
AbstractXmlConfigurationArtifactAnalyzer, AbstractXmlDocumentArtefactAnalyser, AsmTypeArtefactAnalyser, BlueprintArtifactAnalyzer, BundleClassPathArtifactAnalyzer, HibernateMappingArtefactAnalyser, JpaPersistenceArtefactAnalyser, JspArtifactAnalyzer, Log4JXmlArtifactAnalyzer, SpringApplicationContextArtefactAnalyser, StaticResourceArtefactAnalyser, WebApplicationArtifactAnalyzer

public interface ArtifactAnalyzer

Strategy interface for scanning artefacts in a JAR file and adding to the PartialManifest.

Concurrent Semantics
Implementations must be threadsafe.

Author:
Rob Harrop

Method Summary
 void analyse(java.io.InputStream artifact, java.lang.String artifactName, PartialManifest partialManifest)
          Analyse the supplied artefact and update the supplied PartialManifest as needed.
 boolean canAnalyse(java.lang.String artifactName)
          Can this ArtifactAnalyzer analyse the artefact with the supplied name.
 

Method Detail

analyse

void analyse(java.io.InputStream artifact,
             java.lang.String artifactName,
             PartialManifest partialManifest)
             throws java.lang.Exception
Analyse the supplied artefact and update the supplied PartialManifest as needed.

Parameters:
artefact - the artefact to scan.
artefactName - the name of the artefact.
partialManifest - the PartialManifest to update.
Throws:
java.lang.Exception - if an error occurs during scanning.

canAnalyse

boolean canAnalyse(java.lang.String artifactName)
Can this ArtifactAnalyzer analyse the artefact with the supplied name.

Parameters:
artefactName - the name of the artefact.
Returns:
true if the artefact can be analysed; otherwise false.