/** * Copy constructor. * * @param prototype the prototype */ protected AnnotationImpl(Annotation prototype) { requireNonNull(prototype); name = prototype.getName(); javadoc = prototype.getJavadoc().map(Copier::copy).orElse(null); annotations = Copier.copy(prototype.getAnnotations()); fields = Copier.copy(prototype.getFields()); imports = Copier.copy(prototype.getImports()); modifiers = Copier.copy(prototype.getModifiers(), c -> c.copy(), EnumSet.noneOf(Modifier.class)); }
@Override public Optional<String> transform(Generator gen, Annotation model) { requireNonNulls(gen, model); return Optional.of( renderAnnotations(gen, model) + renderAnnotations(gen, model) + "@interface " + renderName(gen, model) + block( model.getFields().stream().map(f -> // Field javadoc (optional) renderJavadoc(gen, model) + // Field declaration gen.on(f.getType()) + " " + f.getName() + "()" + // Default value (optional) ifelse(gen.on(f.getValue()), v -> " default " + v, "") + ";" ).collect(joining(dnl())) ) ); } }
@Override public Optional<String> transform(Generator gen, Annotation model) { requireNonNulls(gen, model); return Optional.of( renderAnnotations(gen, model) + renderAnnotations(gen, model) + "@interface " + renderName(gen, model) + block( model.getFields().stream().map(f -> // Field javadoc (optional) renderJavadoc(gen, model) + // Field declaration gen.on(f.getType()) + " " + f.getName() + "()" + // Default value (optional) ifelse(gen.on(f.getValue()), v -> " default " + v, "") + ";" ).collect(joining(dnl())) ) ); } }
/** * Copy constructor. * * @param prototype the prototype */ protected AnnotationImpl(Annotation prototype) { requireNonNull(prototype); name = prototype.getName(); javadoc = prototype.getJavadoc().map(Copier::copy).orElse(null); annotations = Copier.copy(prototype.getAnnotations()); fields = Copier.copy(prototype.getFields()); imports = Copier.copy(prototype.getImports()); modifiers = Copier.copy(prototype.getModifiers(), c -> c.copy(), EnumSet.noneOf(Modifier.class)); }
@Override public Optional<String> transform(Generator gen, Annotation model) { requireNonNulls(gen, model); return Optional.of( renderAnnotations(gen, model) + renderAnnotations(gen, model) + "@interface " + renderName(gen, model) + block( model.getFields().stream().map(f -> // Field javadoc (optional) renderJavadoc(gen, model) + // Field declaration gen.on(f.getType()) + " " + f.getName() + "()" + // Default value (optional) ifelse(gen.on(f.getValue()), v -> " default " + v, "") + ";" ).collect(joining(dnl())) ) ); } }
/** * Copy constructor. * * @param prototype the prototype */ protected AnnotationImpl(Annotation prototype) { requireNonNull(prototype); name = prototype.getName(); javadoc = prototype.getJavadoc().map(Copier::copy).orElse(null); annotations = Copier.copy(prototype.getAnnotations()); fields = Copier.copy(prototype.getFields()); imports = Copier.copy(prototype.getImports()); modifiers = Copier.copy(prototype.getModifiers(), c -> c.copy(), EnumSet.noneOf(Modifier.class)); }