java.lang.Object
jdk.dynalink.linker.support.CompositeGuardingDynamicLinker
- All Implemented Interfaces:
GuardingDynamicLinker
public class CompositeGuardingDynamicLinker extends Object implements GuardingDynamicLinker
A
GuardingDynamicLinker
that delegates sequentially to a list of
other guarding dynamic linkers in its
getGuardedInvocation(LinkRequest, LinkerServices)
.-
Constructor Summary
Constructors Constructor Description CompositeGuardingDynamicLinker(Iterable<? extends GuardingDynamicLinker> linkers)
Creates a new composite linker. -
Method Summary
Modifier and Type Method Description GuardedInvocation
getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)
Delegates the call to its component linkers.
-
Constructor Details
-
CompositeGuardingDynamicLinker
Creates a new composite linker.- Parameters:
linkers
- a list of component linkers.- Throws:
NullPointerException
- iflinkers
or any of its elements are null.
-
-
Method Details
-
getGuardedInvocation
public GuardedInvocation getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices) throws ExceptionDelegates the call to its component linkers. The first non-null value returned from a component linker is returned. If no component linker returns a non-null invocation, null is returned.- Specified by:
getGuardedInvocation
in interfaceGuardingDynamicLinker
- Parameters:
linkRequest
- the object describing the request for linking a particular invocationlinkerServices
- linker services- Returns:
- the first non-null return value from a component linker, or null if none of the components returned a non-null.
- Throws:
Exception
- if the operation fails for whatever reason
-