Package io.microsphere.net
Class CompositeURLStreamHandlerFactory
- java.lang.Object
-
- io.microsphere.net.CompositeURLStreamHandlerFactory
-
- All Implemented Interfaces:
java.net.URLStreamHandlerFactory
public class CompositeURLStreamHandlerFactory extends java.lang.Object implements java.net.URLStreamHandlerFactoryA compositeURLStreamHandlerFactorythat delegates the creation ofURLStreamHandlerinstances to one or more underlying factories in a prioritized order.This class allows combining multiple
URLStreamHandlerFactoryimplementations into a single factory, where each factory is given a chance to create a handler for a specific protocol. The delegation order can be controlled by providing factories that implement thePrioritizedinterface.Example Usage
CompositeURLStreamHandlerFactory compositeFactory = new CompositeURLStreamHandlerFactory(); // Add custom factories compositeFactory.addURLStreamHandlerFactory(new MyURLStreamHandlerFactory()); compositeFactory.addURLStreamHandlerFactory(new AnotherURLStreamHandlerFactory()); // Set as the default URL stream handler factory URL.setURLStreamHandlerFactory(compositeFactory);- Since:
- 1.0.0
- Author:
- Mercy
-
-
Constructor Summary
Constructors Constructor Description CompositeURLStreamHandlerFactory()CompositeURLStreamHandlerFactory(java.lang.Iterable<java.net.URLStreamHandlerFactory> factories)CompositeURLStreamHandlerFactory(java.util.Collection<java.net.URLStreamHandlerFactory> factories)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompositeURLStreamHandlerFactoryaddURLStreamHandlerFactory(java.net.URLStreamHandlerFactory factory)AddURLStreamHandlerFactoryjava.net.URLStreamHandlercreateURLStreamHandler(java.lang.String protocol)protected java.util.Comparator<? super java.net.URLStreamHandlerFactory>getComparator()TheComparatorto sortURLStreamHandlerFactoriesprotected java.util.List<java.net.URLStreamHandlerFactory>getFactories()Get theURLStreamHandlerFactorydelegates;java.lang.StringtoString()
-
-
-
Constructor Detail
-
CompositeURLStreamHandlerFactory
public CompositeURLStreamHandlerFactory()
-
CompositeURLStreamHandlerFactory
public CompositeURLStreamHandlerFactory(java.util.Collection<java.net.URLStreamHandlerFactory> factories)
-
CompositeURLStreamHandlerFactory
public CompositeURLStreamHandlerFactory(java.lang.Iterable<java.net.URLStreamHandlerFactory> factories)
-
-
Method Detail
-
createURLStreamHandler
public final java.net.URLStreamHandler createURLStreamHandler(java.lang.String protocol)
- Specified by:
createURLStreamHandlerin interfacejava.net.URLStreamHandlerFactory
-
addURLStreamHandlerFactory
public CompositeURLStreamHandlerFactory addURLStreamHandlerFactory(java.net.URLStreamHandlerFactory factory)
AddURLStreamHandlerFactory- Parameters:
factory-URLStreamHandlerFactory- Returns:
-
getFactories
protected java.util.List<java.net.URLStreamHandlerFactory> getFactories()
Get theURLStreamHandlerFactorydelegates;- Returns:
- non-null
-
getComparator
protected java.util.Comparator<? super java.net.URLStreamHandlerFactory> getComparator()
TheComparatorto sortURLStreamHandlerFactories- Returns:
Prioritized.COMPARATORas default
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-