/** * {@inheritDoc} */ public Class<?> find(ClassLoader classLoader, S key) { try { return super.find(classLoader, key); } finally { expungeStaleEntries(); } }
/** * {@inheritDoc} */ public Class<?> findOrInsert(ClassLoader classLoader, S key, Callable<Class<?>> builder, Object monitor) { try { return super.findOrInsert(classLoader, key, builder, monitor); } finally { expungeStaleEntries(); } } }
/** * {@inheritDoc} */ public Class<?> insert(ClassLoader classLoader, S key, Class<?> type) { try { return super.insert(classLoader, key, type); } finally { expungeStaleEntries(); } }
/** * Creates a new default agent builder that uses a default {@link net.bytebuddy.ByteBuddy} instance for creating classes. */ public Default() { this(new ByteBuddy()); }
/** {@inheritDoc} */ public DynamicType.Builder<?> transform(TypeDescription typeDescription, ByteBuddy byteBuddy, ClassFileLocator classFileLocator, MethodNameTransformer methodNameTransformer) { return byteBuddy.redefine(typeDescription, classFileLocator); } },
public TypeCachingBytecodeGenerator(BytecodeGenerator bytecodeGenerator, boolean weak) { this.bytecodeGenerator = bytecodeGenerator; typeCache = new TypeCache.WithInlineExpunction<MockitoMockKey>(weak ? TypeCache.Sort.WEAK : TypeCache.Sort.SOFT); }
/** * Checks if this class file version is at most as new as the provided version. * * @param classFileVersion The version to check against. * @return {@code true} if this version is as most as new as the provided version. */ public boolean isAtMost(ClassFileVersion classFileVersion) { return compareTo(classFileVersion) < 1; }
/** {@inheritDoc} */ public DynamicType.Builder<?> transform(TypeDescription typeDescription, ByteBuddy byteBuddy, ClassFileLocator classFileLocator, MethodNameTransformer methodNameTransformer) { return byteBuddy.rebase(typeDescription, classFileLocator, methodNameTransformer); } },
/** * {@inheritDoc} */ public DynamicType.Builder<?> builder(ByteBuddy byteBuddy, TypeDescription typeDescription, ClassFileLocator classFileLocator) { return byteBuddy.decorate(typeDescription, classFileLocator); } }
/** * Returns the Java runtime version number of this class file version. * * @return The Java runtime version. */ public int getJavaVersion() { return getMajorVersion() - BASE_VERSION; }
/** * Returns this class file version indicating a class using preview features. * * @return This class file version but indicating the use of preview features. */ public ClassFileVersion asPreviewVersion() { return new ClassFileVersion(versionNumber | Opcodes.V_PREVIEW); }
/** * {@inheritDoc} */ public Class<?> findOrInsert(ClassLoader classLoader, S key, Callable<Class<?>> builder) { try { return super.findOrInsert(classLoader, key, builder); } finally { expungeStaleEntries(); } }
/** * {@inheritDoc} */ public DynamicType.Builder<?> builder(ByteBuddy byteBuddy, TypeDescription typeDescription, ClassFileLocator classFileLocator) { return byteBuddy.redefine(typeDescription, classFileLocator); } },
/** * Checks if this class file version is older than the provided version. * * @param classFileVersion The version to check against. * @return {@code true} if this version is older than the provided version. */ public boolean isLessThan(ClassFileVersion classFileVersion) { return compareTo(classFileVersion) < 0; }
/** {@inheritDoc} */ public DynamicType.Builder<?> builder(TypeDescription typeDescription, ByteBuddy byteBuddy, ClassFileLocator classFileLocator, MethodNameTransformer methodNameTransformer, ClassLoader classLoader, JavaModule module, ProtectionDomain protectionDomain) { return byteBuddy.rebase(typeDescription, classFileLocator, methodNameTransformer); } },
/** {@inheritDoc} */ public DynamicType.Builder<?> builder(TypeDescription typeDescription, ByteBuddy byteBuddy, ClassFileLocator classFileLocator, MethodNameTransformer methodNameTransformer, ClassLoader classLoader, JavaModule module, ProtectionDomain protectionDomain) { return byteBuddy.decorate(typeDescription, classFileLocator); } }
/** * Checks if this class file version is at least as new as the provided version. * * @param classFileVersion The version to check against. * @return {@code true} if this version is at least of the given version. */ public boolean isAtLeast(ClassFileVersion classFileVersion) { return compareTo(classFileVersion) > -1; }
/** * {@inheritDoc} */ public DynamicType.Builder<?> builder(ByteBuddy byteBuddy, TypeDescription typeDescription, ClassFileLocator classFileLocator) { return byteBuddy.rebase(typeDescription, classFileLocator); } },
/** * Checks if this class file version is newer than the provided version. * * @param classFileVersion The version to check against. * @return {@code true} if this version is newer than the provided version. */ public boolean isGreaterThan(ClassFileVersion classFileVersion) { return compareTo(classFileVersion) > 0; }