- java.lang.Object
-
- jdk.dynalink.linker.support.CompositeGuardingDynamicLinker
-
- All Implemented Interfaces:
GuardingDynamicLinker
public class CompositeGuardingDynamicLinker extends Object implements GuardingDynamicLinker
AGuardingDynamicLinker
that delegates sequentially to a list of other guarding dynamic linkers in itsgetGuardedInvocation(LinkRequest, LinkerServices)
.
-
-
Constructor Summary
Constructors Constructor Description CompositeGuardingDynamicLinker(Iterable<? extends GuardingDynamicLinker> linkers)
Creates a new composite linker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GuardedInvocation
getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)
Delegates the call to its component linkers.
-
-
-
Constructor Detail
CompositeGuardingDynamicLinker
public CompositeGuardingDynamicLinker(Iterable<? extends GuardingDynamicLinker> linkers)
Creates a new composite linker.- Parameters:
linkers
- a list of component linkers.- Throws:
NullPointerException
- iflinkers
or any of its elements are null.
-
Method Detail
getGuardedInvocation
public GuardedInvocation getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices) throws Exception
Delegates 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
-