Package io.microsphere.classloading
Class ManifestArtifactResourceResolver
- java.lang.Object
-
- io.microsphere.classloading.AbstractArtifactResourceResolver
-
- io.microsphere.classloading.StreamArtifactResourceResolver
-
- io.microsphere.classloading.ManifestArtifactResourceResolver
-
- All Implemented Interfaces:
ArtifactResourceResolver,Prioritized,java.lang.Comparable<Prioritized>
public class ManifestArtifactResourceResolver extends StreamArtifactResourceResolver
ArtifactResourceResolverfor Manifest- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
StreamArtifactResourceResolver,ArtifactResourceResolver
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringARTIFACT_ID_ATTRIBUTE_NAMES_PROPERTY_NAMEstatic java.lang.StringDEFAULT_ARTIFACT_ID_ATTRIBUTE_NAMES_PROPERTY_VALUEDefault property value for attribute names used to extract the artifact ID from the MANIFEST file.static intDEFAULT_PRIORITYDefault priority value for the ManifestArtifactResourceResolver.static java.lang.StringDEFAULT_VERSION_ATTRIBUTE_NAMES_PROPERTY_VALUEDefault property value for attribute names used to extract the artifact version from the MANIFEST file.static java.lang.StringVERSION_ATTRIBUTE_NAMES_PROPERTY_NAME-
Fields inherited from class io.microsphere.classloading.AbstractArtifactResourceResolver
classLoader, logger, priority
-
Fields inherited from interface io.microsphere.lang.Prioritized
COMPARATOR, MAX_PRIORITY, MIN_PRIORITY, NORMAL_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description ManifestArtifactResourceResolver()ManifestArtifactResourceResolver(int priority)ManifestArtifactResourceResolver(java.lang.ClassLoader classLoader, int priority)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanisArtifactMetadata(java.lang.String relativePath)protected Artifactresolve(java.net.URL resourceURL, java.io.InputStream artifactMetadataData, java.lang.ClassLoader classLoader)-
Methods inherited from class io.microsphere.classloading.StreamArtifactResourceResolver
findArtifactMetadata, findArtifactMetadataEntry, isArtifactMetadataEntry, isArtifactMetadataFile, readArtifactMetadataDataFromArchiveFile, readArtifactMetadataDataFromDirectory, readArtifactMetadataDataFromFile, readArtifactMetadataDataFromResource, resolve
-
Methods inherited from class io.microsphere.classloading.AbstractArtifactResourceResolver
getPriority, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.microsphere.lang.Prioritized
compareTo
-
-
-
-
Field Detail
-
DEFAULT_ARTIFACT_ID_ATTRIBUTE_NAMES_PROPERTY_VALUE
public static final java.lang.String DEFAULT_ARTIFACT_ID_ATTRIBUTE_NAMES_PROPERTY_VALUE
Default property value for attribute names used to extract the artifact ID from the MANIFEST file. The attributes are searched in order and the first non-null value is used as the artifact ID.The default attribute names are:
- Bundle-Name - typically used in OSGi environments
- Automatic-Module-Name - used for Java 9+ module systems
- Implementation-Title - standard JAR manifest attribute
- See Also:
- Constant Field Values
-
DEFAULT_VERSION_ATTRIBUTE_NAMES_PROPERTY_VALUE
public static final java.lang.String DEFAULT_VERSION_ATTRIBUTE_NAMES_PROPERTY_VALUE
Default property value for attribute names used to extract the artifact version from the MANIFEST file. The attributes are searched in order and the first non-null value is used as the artifact version.The default attribute names are:
- Bundle-Version - typically used in OSGi environments
- Implementation-Version - standard JAR manifest attribute
- See Also:
- Constant Field Values
-
ARTIFACT_ID_ATTRIBUTE_NAMES_PROPERTY_NAME
@ConfigurationProperty(type=java.lang.String[][].class, defaultValue="Bundle-Name,Automatic-Module-Name,Implementation-Title", description="The attribute names in the \'META-INF/MANIFEST\' resource are retrieved as the artifact id") public static final java.lang.String ARTIFACT_ID_ATTRIBUTE_NAMES_PROPERTY_NAME
- See Also:
- Constant Field Values
-
VERSION_ATTRIBUTE_NAMES_PROPERTY_NAME
@ConfigurationProperty(type=java.lang.String[][].class, defaultValue="Bundle-Version,Implementation-Version", description="The attribute names in the \'META-INF/MANIFEST\' resource are retrieved as the artifact version") public static final java.lang.String VERSION_ATTRIBUTE_NAMES_PROPERTY_NAME
- See Also:
- Constant Field Values
-
DEFAULT_PRIORITY
public static final int DEFAULT_PRIORITY
Default priority value for the ManifestArtifactResourceResolver. This priority determines the order in which this resolver is used compared to others. Lower values indicate higher priority.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ManifestArtifactResourceResolver
public ManifestArtifactResourceResolver()
-
ManifestArtifactResourceResolver
public ManifestArtifactResourceResolver(int priority)
-
ManifestArtifactResourceResolver
public ManifestArtifactResourceResolver(java.lang.ClassLoader classLoader, int priority)
-
-
Method Detail
-
isArtifactMetadata
protected boolean isArtifactMetadata(java.lang.String relativePath)
- Specified by:
isArtifactMetadatain classStreamArtifactResourceResolver
-
resolve
protected Artifact resolve(java.net.URL resourceURL, java.io.InputStream artifactMetadataData, java.lang.ClassLoader classLoader) throws java.io.IOException
- Specified by:
resolvein classStreamArtifactResourceResolver- Throws:
java.io.IOException
-
-