Package net.bytebuddy.agent.builder
Interface AgentBuilder.CircularityLock
-
- All Known Implementing Classes:
AgentBuilder.CircularityLock.Default
,AgentBuilder.CircularityLock.Global
,AgentBuilder.CircularityLock.Inactive
- Enclosing interface:
- AgentBuilder
public static interface AgentBuilder.CircularityLock
A circularity lock is responsible for preventing that aClassFileLocator
is used recursively. This can happen when a class file transformation causes another class to be loaded. Without avoiding such circularities, a class loading is aborted by aClassCircularityError
which causes the class loading to fail.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
AgentBuilder.CircularityLock.Default
A default implementation of a circularity lock.static class
AgentBuilder.CircularityLock.Global
A circularity lock that holds a global monitor and does not permit concurrent access.static class
AgentBuilder.CircularityLock.Inactive
An inactive circularity lock which is always acquirable.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
acquire()
Attempts to acquire a circularity lock.void
release()
Releases the circularity lock if it is currently acquired.
-