Class AgentBuilder.CircularityLock.Global

java.lang.Object
net.bytebuddy.agent.builder.AgentBuilder.CircularityLock.Global
All Implemented Interfaces:
AgentBuilder.CircularityLock
Enclosing interface:
AgentBuilder.CircularityLock

@Enhance public static class AgentBuilder.CircularityLock.Global extends Object implements AgentBuilder.CircularityLock
A circularity lock that holds a global monitor and does not permit concurrent access.
  • Field Details

    • lock

      private final Lock lock
      The lock to hold.
    • time

      private final long time
      The time to wait for the lock.
    • timeUnit

      private final TimeUnit timeUnit
      The time's time unit.
  • Constructor Details

    • Global

      public Global()
      Creates a new global circularity lock that does not wait for a release.
    • Global

      public Global(long time, TimeUnit timeUnit)
      Creates a new global circularity lock.
      Parameters:
      time - The time to wait for the lock.
      timeUnit - The time's time unit.
  • Method Details

    • acquire

      public boolean acquire()
      Attempts to acquire a circularity lock.
      Specified by:
      acquire in interface AgentBuilder.CircularityLock
      Returns:
      true if the lock was acquired successfully, false if it is already hold.
    • release

      public void release()
      Releases the circularity lock if it is currently acquired.
      Specified by:
      release in interface AgentBuilder.CircularityLock