| package testproxy; |
| |
| import javassist.util.proxy.MethodHandler; |
| import java.lang.reflect.Method; |
| |
| public class Target189 { |
| public interface TestProxy { |
| } |
| |
| public static class TestMethodHandler implements MethodHandler { |
| |
| int invoked = 0; |
| |
| public Object invoke(Object self, Method thisMethod, Method proceed, |
| Object[] args) throws Throwable { |
| invoked++; |
| return proceed.invoke(self, args); |
| } |
| |
| public boolean wasInvokedOnce() { |
| return invoked == 1; |
| } |
| |
| public void reset() { |
| invoked = 0; |
| } |
| } |
| |
| public static class Issue { |
| |
| private Integer id; |
| |
| public Integer getId() { |
| return id; |
| } |
| |
| public void setId(Integer id) { |
| this.id = id; |
| } |
| } |
| |
| public static class PublishedIssue extends Issue { |
| } |
| |
| public static abstract class Article { |
| private Integer id; |
| |
| public Integer getId() { |
| return id; |
| } |
| |
| public void setId(Integer id) { |
| this.id = id; |
| } |
| |
| public abstract Issue getIssue(); |
| } |
| |
| public static class PublishedArticle extends Article { |
| |
| private PublishedIssue issue; |
| |
| @Override |
| public PublishedIssue getIssue() { |
| return issue; |
| } |
| |
| public void setIssue(PublishedIssue issue) { |
| this.issue = issue; |
| } |
| |
| } |
| |
| } |