Package io.microsphere.classloading
Class AbstractArtifactResourceResolver
- java.lang.Object
-
- io.microsphere.classloading.AbstractArtifactResourceResolver
-
- All Implemented Interfaces:
ArtifactResourceResolver
,Prioritized
,java.lang.Comparable<Prioritized>
- Direct Known Subclasses:
ArchiveFileArtifactResourceResolver
,StreamArtifactResourceResolver
public abstract class AbstractArtifactResourceResolver extends java.lang.Object implements ArtifactResourceResolver
An abstract base class for implementingArtifactResourceResolver
.This class provides a skeletal implementation to reduce the effort required to create concrete implementations. It handles common concerns such as priority management, logging, and classloader usage, allowing subclasses to focus on the specific logic for resolving artifact resources.
Key Features
- Priority Management: Implements the
Prioritized
interface to allow sorting of resolvers based on their priorities. - Logging Support: Provides a pre-configured logger instance for subclasses to use.
- ClassLoader Handling: Stores and exposes a ClassLoader instance that can be used by subclasses when resolving or processing artifacts.
Example Usage
{@code public class CustomArtifactResourceResolver extends AbstractArtifactResourceResolver { public CustomArtifactResourceResolver(ClassLoader classLoader, int priority) { super(classLoader, priority); }
- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
ArtifactResourceResolver
,Prioritized
,Logger
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.ClassLoader
classLoader
protected Logger
logger
protected int
priority
-
Fields inherited from interface io.microsphere.lang.Prioritized
COMPARATOR, MAX_PRIORITY, MIN_PRIORITY, NORMAL_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description AbstractArtifactResourceResolver(int priority)
AbstractArtifactResourceResolver(java.lang.ClassLoader classLoader, int priority)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getPriority()
Get the priorityjava.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.microsphere.classloading.ArtifactResourceResolver
resolve
-
Methods inherited from interface io.microsphere.lang.Prioritized
compareTo
-
-
-
-
Field Detail
-
logger
protected final Logger logger
-
classLoader
protected final java.lang.ClassLoader classLoader
-
priority
protected final int priority
-
-
Method Detail
-
getPriority
public final int getPriority()
Description copied from interface:Prioritized
Get the priority- Specified by:
getPriority
in interfacePrioritized
- Returns:
- the default is
minimum one
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-