1 16 package net.sf.cglib.transform.impl; 17 18 import net.sf.cglib.transform.*; 19 import java.util.*; 20 import net.sf.cglib.core.*; 21 import org.objectweb.asm.Type; 22 23 public class AddPropertyTransformer extends ClassEmitterTransformer { 24 private final String [] names; 25 private final Type[] types; 26 27 public AddPropertyTransformer(Map props) { 28 int size = props.size(); 29 names = (String [])props.keySet().toArray(new String [size]); 30 types = new Type[size]; 31 for (int i = 0; i < size; i++) { 32 types[i] = (Type)props.get(names[i]); 33 } 34 } 35 36 public AddPropertyTransformer(String [] names, Type[] types) { 37 this.names = names; 38 this.types = types; 39 } 40 41 public void end_class() { 42 if (!TypeUtils.isAbstract(getAccess())) { 43 EmitUtils.add_properties(this, names, types); 44 } 45 super.end_class(); 46 } 47 } 48 | Popular Tags |