package de.twenty11.unitprofile.domain; public class Transformation { private String className; private TransformationResult transformationResult; private int origSize; private int newLength; public Transformation(String className, int origSize) { this.className = className.replace("/", "."); this.origSize = origSize; this.transformationResult = TransformationResult.UNTOUCHED; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((className == null) ? 0 : className.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Transformation other = (Transformation) obj; if (className == null) { if (other.className != null) return false; } else if (!className.equals(other.className)) return false; return true; } @Override public String toString() { StringBuilder sb = new StringBuilder(className); sb.append(" [").append(transformationResult).append("]"); sb.append(" (").append(origSize).append(" "); if (TransformationResult.TRANSFORMED.equals(transformationResult)) { sb.append("-> ").append(newLength); } sb.append(" bytes)"); return sb.toString(); } public void update(int newLength) { this.newLength = newLength; if (newLength != origSize) { this.transformationResult = TransformationResult.TRANSFORMED; } } public String getClassName() { return className; } // public Class<?> getClassBeingRedefined() { // return classBeingRedefined; // } }