You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ClassPreProcessor.java 1.1KB

123456789101112131415161718192021222324252627282930
  1. /*******************************************************************************
  2. * Copyright (c) 2005,2018 Contributors.
  3. * All rights reserved.
  4. * This program and the accompanying materials are made available
  5. * under the terms of the Eclipse Public License v 2.0
  6. * which accompanies this distribution and is available at
  7. * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
  8. *******************************************************************************/
  9. package org.aspectj.weaver.loadtime;
  10. import java.security.ProtectionDomain;
  11. /**
  12. * Generic class pre processor interface that allows to separate the AspectJ 5 load time weaving from Java 5 JVMTI interfaces for
  13. * further use on Java 1.3 / 1.4
  14. *
  15. * @author Alexandre Vasseur
  16. * @author Andy Clement
  17. */
  18. public interface ClassPreProcessor {
  19. /**
  20. * Post constructor initialization, usually empty
  21. */
  22. void initialize();
  23. byte[] preProcess(String className, byte[] bytes, ClassLoader classLoader, ProtectionDomain protectionDomain);
  24. void prepareForRedefinition(ClassLoader loader, String className);
  25. }