View Javadoc

1   package org.sourceforge.jemm.weaver.transformation;
2   
3   import javassist.CtClass;
4   
5   /**
6    * Abstract parent class for concrete class transformers.  
7    * 
8    * @author <a href="mailto:csuml@yahoo.co.uk">Paul Keeble</a>
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  }