public CtType(CtClass ctClass) { ClassType classType = new ClassType(ctClass.getName(), null); init(ctClass, false, classType.encode()); }
public static SignatureAttribute.ClassType classType(String className, Type... arguments) { Collection<SignatureAttribute.TypeArgument> args = new ArrayList<SignatureAttribute.TypeArgument>(); for (Type arg : arguments) { args.add( new SignatureAttribute.TypeArgument( (SignatureAttribute.ObjectType) classType(arg, null))); } return new SignatureAttribute.ClassType(className, args.toArray(new SignatureAttribute.TypeArgument[0])); }
public static SignatureAttribute.ClassType classType(String className, String... arguments) { Collection<SignatureAttribute.TypeArgument> args = new ArrayList<SignatureAttribute.TypeArgument>(); for (String arg : arguments) { args.add(new SignatureAttribute.TypeArgument(new SignatureAttribute.ClassType(arg))); } return new SignatureAttribute.ClassType(className, args.toArray(new SignatureAttribute.TypeArgument[0])); }
attributeClass.setSuperclass(pool.get(attributeSuperClass.getName())); SignatureAttribute.ClassType genericTypeOfAttribute = new SignatureAttribute.ClassType( attributeSuperClass.getName(), new SignatureAttribute.TypeArgument[]{ new SignatureAttribute.TypeArgument(new SignatureAttribute.ClassType(pojoClass.getName())), new SignatureAttribute.TypeArgument(new SignatureAttribute.ClassType(attributeValueType.getName())) new SignatureAttribute.Type[]{new SignatureAttribute.ClassType(pojoClass.getName())}, new SignatureAttribute.ClassType( java.lang.Iterable.class.getName(), new SignatureAttribute.TypeArgument[]{ new SignatureAttribute.TypeArgument(new SignatureAttribute.ClassType(attributeValueType.getName()))
c.isPrimitive() ? new SignatureAttribute.BaseType(getTypeName(c)) : new SignatureAttribute.ClassType(getTypeName(c))); } else { if (c.isPrimitive()) { return new SignatureAttribute.BaseType(c.getName()); } else return new SignatureAttribute.ClassType(getTypeName(c)); args.add(new SignatureAttribute.TypeArgument((SignatureAttribute.ObjectType) classType(types[i], contextClass))); return new SignatureAttribute.ClassType( ((Class<?>) ((ParameterizedType) t).getRawType()).getName(), args.toArray(new SignatureAttribute.TypeArgument[0]));
attributeClass.setSuperclass(pool.get(attributeSuperClass.getName())); SignatureAttribute.ClassType genericTypeOfAttribute = new SignatureAttribute.ClassType( attributeSuperClass.getName(), new SignatureAttribute.TypeArgument[]{ new SignatureAttribute.TypeArgument(new SignatureAttribute.ClassType(pojoClass.getName())), new SignatureAttribute.TypeArgument(new SignatureAttribute.ClassType(attributeValueType.getName()))
ClassType listOfTuple = new SignatureAttribute.ClassType(Collection.class.getName(), new TypeArgument[]{new TypeArgument( new SignatureAttribute.ClassType(Tuple.class.getName()) )}); ltsCtField.setGenericSignature( listOfTuple.encode()
new ClassType(ctRawClass.getName(), buildTypeArgs(classPathAndPool, richClass)),
ClassType listOfTuple = new SignatureAttribute.ClassType(Collection.class.getName(), new TypeArgument[]{new TypeArgument( new SignatureAttribute.ClassType(Tuple.class.getName()) )}); ltsCtField.setGenericSignature( listOfTuple.encode()
private CounterChain newCounterChain(Class clz) throws CannotCompileException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException { ClassPool classPool = ClassPool.getDefault(); String className = String.format("CounterChain$%s$%08X", clz.getSimpleName(), atomicInteger.incrementAndGet()); CtClass newClass = classPool.makeClass(className, classPool.getOrNull(CounterChain.class.getName())); newClass.getClassFile().setVersionToJava5(); newClass.setGenericSignature(new SignatureAttribute.ClassSignature(null, new SignatureAttribute.ClassType(clz.getName()), null).encode()); CtConstructor spiConstructor = new CtConstructor(null, newClass); spiConstructor.setBody("{super();}"); CtMethod ctMethod = CtMethod.make( String.format("protected %s getThreadPool(){ return %s.SCHEDULED_EXECUTOR_SERVICE;}", Executor.class.getName(), CountFacadeProvider.class.getName()), newClass); newClass.addMethod(ctMethod); newClass.addConstructor(spiConstructor); return (CounterChain) newClass.toClass().getConstructor(new Class[0]).newInstance(); }
private String transformMethodSignature(SignatureAttribute signatureAttribute) throws BadBytecode { String originalSig = signatureAttribute.getSignature(); SignatureAttribute.MethodSignature methodSignature = SignatureAttribute.toMethodSignature(originalSig); SignatureAttribute.ClassType returnType = new SignatureAttribute.ClassType("javax.ws.rs.core.Response"); SignatureAttribute.MethodSignature replacementSignature = new SignatureAttribute.MethodSignature( methodSignature.getTypeParameters(), methodSignature.getParameterTypes(), returnType, methodSignature.getExceptionTypes()); return replacementSignature.encode(); } }
public CtType(CtClass ctClass) { ClassType classType = new ClassType(ctClass.getName(), null); init(ctClass, false, classType.encode()); }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); else return new NestedClassType(s, b, e, targs, parent); }
private static TypeArgument[] buildTypeArgs(ClassPathAndPool defaultClassPool, RichClass richClass) throws NotFoundException { List<RichClass> genericTypes = richClass.getGenericTypes(); TypeArgument[] typeArguments = new TypeArgument[genericTypes.size()]; for (int i = 0; i < genericTypes.size(); i++) { Class<?> genClass = genericTypes.get(i).getActualClass(); CtClass ctClass = defaultClassPool.getClass(genClass); String className = ctClass.getName(); typeArguments[i] = new TypeArgument(new ClassType(className)); } return typeArguments; }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); else return new NestedClassType(s, b, e, targs, parent); }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); else return new NestedClassType(s, b, e, targs, parent); }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); else return new NestedClassType(s, b, e, targs, parent); }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); else return new NestedClassType(s, b, e, targs, parent); }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); return new NestedClassType(s, b, e, targs, parent); }
static ClassType make(String s, int b, int e, TypeArgument[] targs, ClassType parent) { if (parent == null) return new ClassType(s, b, e, targs); else return new NestedClassType(s, b, e, targs, parent); }