W3cubDocs

/OpenJDK 21

Class CompositeGuardingDynamicLinker

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

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.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

CompositeGuardingDynamicLinker

public CompositeGuardingDynamicLinker(Iterable<? extends GuardingDynamicLinker> linkers)
Creates a new composite linker.
Parameters:
linkers - a list of component linkers.
Throws:
NullPointerException - if linkers or any of its elements are null.

Method Details

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 interface GuardingDynamicLinker
Parameters:
linkRequest - the object describing the request for linking a particular invocation
linkerServices - 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

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.dynalink/jdk/dynalink/linker/support/CompositeGuardingDynamicLinker.html