1 package org.sourceforge.jemm.weaver.transformation;
2
3 import javassist.CtClass;
4
5
6
7
8
9
10 public abstract class AbstractClassTransformation implements Transformation {
11
12 public abstract String[] dependentTransforms();
13
14 public abstract void transform(CtClass clazz) throws TransformationException;
15
16 @Override
17 public boolean equals(Object obj) {
18 if(obj == null || !(obj instanceof Transformation))
19 return false;
20
21 Transformation rhs = (Transformation)obj;
22 return getTransformationName().equals(rhs.getTransformationName());
23
24 }
25
26 @Override
27 public int hashCode() {
28 return getTransformationName().hashCode();
29 }
30
31 public String toString() {
32 return getTransformationName();
33 }
34
35 public String getTransformationName() {
36 return getClass().getSimpleName();
37 }
38 }