Refine search
@Override public DynamicField jsvar(String var, String jsonpath) { Annotation annot = new Annotation(JSVar.class.getName(), cpool); annot.addMemberValue("var", new StringMemberValue(var, cpool)); annot.addMemberValue("jsonpath", new StringMemberValue(jsonpath, cpool)); attr.addAnnotation(annot); return this; }
Annotation[] items = attr.getAnnotations(); for (Annotation annotation : items) { String typeName = annotation.getTypeName(); if (typeName.equals(Type.class.getName())) { StringMemberValue annot = (StringMemberValue) annotation.getMemberValue("type"); if (annot != null && annot.getValue().equals(StringClobType.class.getName())) { Annotation clobType = new Annotation(Type.class.getName(), constantPool); StringMemberValue type = new StringMemberValue(constantPool); type.setValue(MaterializedClobType.class.getName()); clobType.addMemberValue("type", type); annotationsAttribute.addAnnotation(clobType);
/** * Prepare any {@link QueryHint} declarations * * @param constantPool * @param queryHints * @param hint */ protected void prepareQueryHints(ConstPool constantPool, List<AnnotationMemberValue> queryHints, QueryHint hint) { Annotation queryHint = new Annotation(QueryHint.class.getName(), constantPool); StringMemberValue hintName = new StringMemberValue(constantPool); hintName.setValue(hint.name()); queryHint.addMemberValue("name", hintName); StringMemberValue hintValue = new StringMemberValue(constantPool); hintValue.setValue(hint.value()); queryHint.addMemberValue("value", hintValue); AnnotationMemberValue hintAnnotation = new AnnotationMemberValue(queryHint, constantPool); queryHints.add(hintAnnotation); } }
Annotation[] items = attr.getAnnotations(); for (Annotation annotation : items) { String typeName = annotation.getTypeName(); if (typeName.equals(Table.class.getName())) { Set<String> keys = annotation.getMemberNames(); for (String key : keys) { if (key.equalsIgnoreCase("name")) { StringMemberValue value = (StringMemberValue) annotation.getMemberValue(key); String oldTableName = value.getValue(); value.setValue(tableName); if (LOG.isDebugEnabled()) { LOG.debug("Altering " + classFile.getName() + " table name from: " + oldTableName + "" + " to: " + value.getValue());
Annotation[] items = attr.getAnnotations(); for (Annotation annotation : items) { String typeName = annotation.getTypeName(); if (typeName.equals(DirectCopyTransform.class.getName())) { ArrayMemberValue arrayMember = (ArrayMemberValue) annotation.getMemberValue("value"); for (MemberValue arrayMemberValue : arrayMember.getValue()) { AnnotationMemberValue member = (AnnotationMemberValue) arrayMemberValue; Annotation memberAnnot = member.getValue(); ArrayMemberValue annot = (ArrayMemberValue) memberAnnot.getMemberValue("templateTokens"); List<String> addedTemplates = new ArrayList<>(); for (MemberValue memberValue : annot.getValue()) { String val = ((StringMemberValue) memberValue).getValue(); addedTemplates.addAll(reviewTemplateTokens(matchedPatterns, val));
return new ClassMemberValue(cp); else if (type.getName().equals("java.lang.String")) return new StringMemberValue(cp); else if (type.isArray()) { CtClass arrayType = type.getComponentType(); MemberValue member = createMemberValue(cp, arrayType); return new ArrayMemberValue(member, cp); Annotation info = new Annotation(cp, type); return new AnnotationMemberValue(info, cp);
public void addParameter(String name, String value) { annotation.addMemberValue(name, new StringMemberValue(value, constPool)); }
/** * Obtains the string representation of this object. */ public String toString() { return "\"" + getValue() + "\""; }
@Nullable private static String getStringFrom(@Nonnull Annotation annotation, @Nonnull String memberName) { MemberValue memberValue = annotation.getMemberValue(memberName); if (memberValue == null) { return null; } checkState(StringMemberValue.class.isInstance(memberValue), "The member [" + memberName + "] is no StringMemberValue!"); return StringMemberValue.class.cast(memberValue).getValue(); }
private static MemberValue createMemberValue(ConstPool cp, CtClass type, Object value) throws NotFoundException { MemberValue memberValue = javassist.bytecode.annotation.Annotation.createMemberValue(cp, type); if (memberValue instanceof BooleanMemberValue) { ((BooleanMemberValue) memberValue).setValue((Boolean) value); ((ClassMemberValue) memberValue).setValue(((Class<?>) value).getName()); } else if (memberValue instanceof StringMemberValue) { ((StringMemberValue) memberValue).setValue((String) value); } else if (memberValue instanceof EnumMemberValue) { ((EnumMemberValue) memberValue).setValue(((Enum<?>) value).name());
/** * Constructs a string constant value. The initial value is "". */ public StringMemberValue(ConstPool cp) { super('s', cp); setValue(""); }
@Override public void visitStringMemberValue(StringMemberValue node) { array[index] = new StringMemberValue(node.getValue(), constPool); }
@Override protected void applyTransformations(CtClass clazz) throws Exception { AnnotationsAttribute attribute = (AnnotationsAttribute) clazz.getClassFile().getAttribute(AnnotationsAttribute.visibleTag); Annotation annotation = attribute.getAnnotation("org.spongepowered.api.plugin.Plugin"); StringMemberValue version = (StringMemberValue) annotation.getMemberValue("version"); version.setValue(this.version); attribute.setAnnotation(annotation); }
@SuppressWarnings("all") public static MemberValue createMemberValue(Object value, ConstPool constPool) { MemberValue memberValue = null; if (value instanceof Integer) { memberValue = new IntegerMemberValue(constPool, ((Integer) value)); } else if (value instanceof Boolean) { memberValue = new BooleanMemberValue((Boolean) value, constPool); } else if (value instanceof Long) { memberValue = new LongMemberValue((Long) value, constPool); } else if (value instanceof String) { memberValue = new StringMemberValue((String) value, constPool); } else if (value instanceof Class) { memberValue = new ClassMemberValue(((Class) value).getName(), constPool); } else if (value instanceof Object[]) { Object[] arr = ((Object[]) value); ArrayMemberValue arrayMemberValue = new ArrayMemberValue(new ClassMemberValue(arr[0].getClass().getName(), constPool), constPool); arrayMemberValue.setValue(Arrays.stream(arr) .map(o -> createMemberValue(o, constPool)) .toArray(MemberValue[]::new)); memberValue = arrayMemberValue; } return memberValue; }
Annotation namedQuery = new Annotation(NamedNativeQuery.class.getName(), constantPool); StringMemberValue name = new StringMemberValue(constantPool); name.setValue(query.name()); namedQuery.addMemberValue("name", name); StringMemberValue queryString = new StringMemberValue(constantPool); queryString.setValue(query.query()); namedQuery.addMemberValue("query", queryString); namedQuery.addMemberValue("resultClass", resultClass); StringMemberValue resultSetMapping = new StringMemberValue(constantPool); resultSetMapping.setValue(query.resultSetMapping()); namedQuery.addMemberValue("resultSetMapping", resultSetMapping);
private String getParameterName(final Annotation[] annotations) { Annotation nameAnnotation = null; for (int i = 0; i < annotations.length; ++i) { final Annotation annotation = annotations[i]; if (PARAMETER_NAME_ANNOTATION.equals(annotation.getTypeName())) { nameAnnotation = annotation; break; } } if (nameAnnotation == null) { return null; } return ((StringMemberValue) nameAnnotation.getMemberValue("value")).getValue(); }
return new ClassMemberValue(cp); else if (type.getName().equals("java.lang.String")) return new StringMemberValue(cp); else if (type.isArray()) { CtClass arrayType = type.getComponentType(); MemberValue member = createMemberValue(cp, arrayType); return new ArrayMemberValue(member, cp); Annotation info = new Annotation(cp, type); return new AnnotationMemberValue(info, cp);
public void addParameter(String name, String[] values) { ArrayMemberValue member = new ArrayMemberValue(constPool); StringMemberValue[] members = new StringMemberValue[values.length]; for (int i = 0; i < values.length; i++) members[i] = new StringMemberValue(values[i], constPool); member.setValue(members); annotation.addMemberValue(name, member); }
Object getValue(ClassLoader cl, ClassPool cp, Method m) { return getValue(); }
private String tryExtractFromParamTypeAnnotation(Object[] annotations) { for (Object o : annotations) { AnnotationImpl annotation = (AnnotationImpl) Proxy.getInvocationHandler(o); if (annotation.getTypeName().equals(ParamType.class.getName())) { String value = ((StringMemberValue) annotation.getAnnotation().getMemberValue("value")).getValue(); return value.equals("") ? null : value; } } return null; } }