public PropertyInfo(boolean declared, String name, Doc doc, TypeInfo type, String setterMethod, String adderMethod, String getterMethod, List<AnnotationValueInfo> annotations, PropertyKind kind, boolean jsonifiable, boolean deprecated, Text deprecatedDesc) { this.kind = kind; this.declared = declared; this.name = name; this.doc = doc; this.type = type; this.annotations = annotations.stream().collect(HashMap::new, (m, a) -> m.put(a.getName(), a), HashMap::putAll); this.adderMethod = adderMethod; this.setterMethod = setterMethod; this.getterMethod = getterMethod; this.jsonifiable = jsonifiable; this.deprecated = deprecated; this.deprecatedDesc = deprecatedDesc; }
@Test public void testStringAnnotated() throws Exception { ClassModel model = new GeneratorHelper().generateClass(Annotated.class); assertFalse(model.getAnnotations().isEmpty()); assertEquals(2, model.getAnnotations().size()); assertEquals(VertxGen.class.getName(), model.getAnnotations().get(0).getName()); assertEquals(EmptyAnnotation.class.getName(), model.getAnnotations().get(1).getName()); assertFalse(model.getMethodAnnotations().values().isEmpty()); assertEquals(1, model.getMethodAnnotations().get("stringAnnotated").size()); assertEquals(3, model.getMethodAnnotations().get("stringAnnotated").get(0).getMembersNames().size()); assertNotNull(model.getMethodAnnotations().get("stringAnnotated").get(0).getMember("value")); assertNotNull(model.getMethodAnnotations().get("stringAnnotated").get(0).getMember("array")); assertNotNull(model.getMethodAnnotations().get("stringAnnotated").get(0).getMember("defaultValue")); assertEquals("aString", model.getMethodAnnotations().get("stringAnnotated").get(0).getMember("value")); assertArrayEquals(new String[]{"one", "two"}, ((List) model.getMethodAnnotations().get("stringAnnotated").get(0).getMember("array")).toArray()); assertEquals("defaultString", model.getMethodAnnotations().get("stringAnnotated").get(0).getMember("defaultValue")); }
@Test public void testDataObjectWithAnnotations() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(DataObjectWithAnnotatedField.class); assertNotNull(model); assertTrue(model.isClass()); assertTrue(model.getGenerateConverter()); assertTrue(model.isPublicConverter()); PropertyInfo idModel = model.getPropertyMap().get("id"); assertEquals(1, idModel.getAnnotations().size()); assertNotNull(idModel.getAnnotation(SomeAnnotation.class.getName()).getName()); PropertyInfo fieldWithMethodAnnotationModel = model.getPropertyMap().get("fieldWithMethodAnnotation"); assertEquals(2, fieldWithMethodAnnotationModel.getAnnotations().size()); assertNotNull(fieldWithMethodAnnotationModel.getAnnotation(SomeAnnotation.class.getName()).getName()); assertNotNull(fieldWithMethodAnnotationModel.getAnnotation(SomeMethodAnnotation.class.getName()).getName()); }
private void generateFunction(String functionName, DataObjectModel model, CodeWriter writer) { boolean isKotlin = model.getAnnotations().stream().anyMatch(ann -> ann.getName().equals("kotlin.Metadata"));