package org.ntlab.trace; public class ObjectReference { private String id; private String actualType = null; // 実際の型 private String calleeType = null; // 呼び出し先メソッド内での型(静的に決定できる型) private String callerType = null; // 呼び出し元メソッド内での型(静的に決定できる型) public ObjectReference(String id) { this.id = id; this.actualType = null; } public ObjectReference(String id, String actualType) { this.id = id; this.actualType = actualType; } public ObjectReference(String id, String actualType, String calleeType) { this.id = id; this.actualType = actualType; this.calleeType = calleeType; } public ObjectReference(String id, String actualType, String calleeType, String callerType) { this.id = id; this.actualType = actualType; this.calleeType = calleeType; this.callerType = callerType; } public String getId() { return id; } public String getActualType() { return actualType; } public String getCalleeType() { return calleeType; } public String getCallerType() { return callerType; } public void setId(String id) { this.id = id; } public void setActualType(String actualType) { this.actualType = actualType; } public void setCalleeType(String calleeType) { this.calleeType = calleeType; } public void setCallerType(String callerType) { this.callerType = callerType; } public boolean equals(Object other) { if (this == other) return true; if (!(other instanceof ObjectReference)) return false; if (id != null && id.equals(((ObjectReference)other).id)) return true; return false; } }