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.

Target189.java 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package testproxy;
  2. import javassist.util.proxy.MethodHandler;
  3. import java.lang.reflect.Method;
  4. public class Target189 {
  5. public interface TestProxy {
  6. }
  7. public static class TestMethodHandler implements MethodHandler {
  8. int invoked = 0;
  9. public Object invoke(Object self, Method thisMethod, Method proceed,
  10. Object[] args) throws Throwable {
  11. invoked++;
  12. return proceed.invoke(self, args);
  13. }
  14. public boolean wasInvokedOnce() {
  15. return invoked == 1;
  16. }
  17. public void reset() {
  18. invoked = 0;
  19. }
  20. }
  21. public static class Issue {
  22. private Integer id;
  23. public Integer getId() {
  24. return id;
  25. }
  26. public void setId(Integer id) {
  27. this.id = id;
  28. }
  29. }
  30. public static class PublishedIssue extends Issue {
  31. }
  32. public static abstract class Article {
  33. private Integer id;
  34. public Integer getId() {
  35. return id;
  36. }
  37. public void setId(Integer id) {
  38. this.id = id;
  39. }
  40. public abstract Issue getIssue();
  41. }
  42. public static class PublishedArticle extends Article {
  43. private PublishedIssue issue;
  44. @Override
  45. public PublishedIssue getIssue() {
  46. return issue;
  47. }
  48. public void setIssue(PublishedIssue issue) {
  49. this.issue = issue;
  50. }
  51. }
  52. }