@Override public byte[] transform(ClassLoader classLoader, String className, Class<?> aClass, ProtectionDomain protectionDomain, byte[] originalBuffer) { return getBytes(transform(classLoader, className, protectionDomain, ByteBuffer.wrap(originalBuffer))); }
@Override public byte[] transform(ClassLoader classLoader, String className, Class<?> aClass, ProtectionDomain protectionDomain, byte[] originalBuffer) { return getBytes(transform(classLoader, className, protectionDomain, ByteBuffer.wrap(originalBuffer))); }
@Override public ByteBuffer transform(ClassLoader classLoader, String className, ProtectionDomain protectionDomain, ByteBuffer classBytes) throws IllegalArgumentException { byte[] transformedBuffer = getBytes(classBytes); boolean transformed = false; for (javax.persistence.spi.ClassTransformer transformer : persistenceUnitMetadata.getTransformers()) { if (ROOT_LOGGER.isTraceEnabled()) ROOT_LOGGER.tracef("rewrite entity class '%s' using transformer '%s' for '%s'", className, transformer.getClass().getName(), persistenceUnitMetadata.getScopedPersistenceUnitName()); byte[] result; try { // parameter classBeingRedefined is always passed as null // because we won't ever be called to transform already loaded classes. result = transformer.transform(classLoader, className, null, protectionDomain, transformedBuffer); } catch (IllegalClassFormatException e) { throw JpaLogger.ROOT_LOGGER.invalidClassFormat(e, className); } if (result != null) { transformedBuffer = result; transformed = true; if (ROOT_LOGGER.isTraceEnabled()) ROOT_LOGGER.tracef("entity class '%s' was rewritten", className); } } return transformed ? ByteBuffer.wrap(transformedBuffer) : null; }
@Override public ByteBuffer transform(ClassLoader classLoader, String className, ProtectionDomain protectionDomain, ByteBuffer classBytes) throws IllegalArgumentException { byte[] transformedBuffer = getBytes(classBytes); boolean transformed = false; for (javax.persistence.spi.ClassTransformer transformer : persistenceUnitMetadata.getTransformers()) { if (ROOT_LOGGER.isTraceEnabled()) ROOT_LOGGER.tracef("rewrite entity class '%s' using transformer '%s' for '%s'", className, transformer.getClass().getName(), persistenceUnitMetadata.getScopedPersistenceUnitName()); byte[] result; try { // parameter classBeingRedefined is always passed as null // because we won't ever be called to transform already loaded classes. result = transformer.transform(classLoader, className, null, protectionDomain, transformedBuffer); } catch (IllegalClassFormatException e) { throw JpaLogger.ROOT_LOGGER.invalidClassFormat(e, className); } if (result != null) { transformedBuffer = result; transformed = true; if (ROOT_LOGGER.isTraceEnabled()) ROOT_LOGGER.tracef("entity class '%s' was rewritten", className); } } return transformed ? ByteBuffer.wrap(transformedBuffer) : null; }