private Naming inferNaming(Element element, EnumSet<Tag> tags, AtomicReference<StandardNaming> standardNaming) { Optional<NamingMirror> namingAnnotation = NamingMirror.find(element); if (namingAnnotation.isPresent()) { try { NamingMirror mirror = namingAnnotation.get(); Naming naming = Naming.from(mirror.value()); if (mirror.depluralize()) { tags.add(Tag.DEPLURALIZE); } standardNaming.set(mirror.standard()); return naming; } catch (IllegalArgumentException ex) { reporter.withElement(element) .annotationNamed(NamingMirror.simpleName()) .error(ex.getMessage()); } } if (element.getKind() == ElementKind.FIELD || (element.getKind() == ElementKind.METHOD && (element.getModifiers().contains(Modifier.PRIVATE) || tags.contains(Tag.PRIVATE)))) { return helperNaming(element.getSimpleName()); } if (tags.contains(Tag.INIT) || tags.contains(Tag.COPY)) { return Naming.identity(); } String encodedMethodName = element.getSimpleName().toString(); return Naming.from("*" + Naming.Usage.CAPITALIZED.apply(encodedMethodName)); }
.type(typesReader.get(method.getReturnType())) .addTags(Tag.EXPOSE) .naming(Naming.identity()) .typeParameters(typesReader.parameters) .addAllDoc(docFrom(method))
.type(typesReader.get(field.asType())) .addTags(Tag.IMPL, Tag.FINAL, Tag.PRIVATE, virtual ? Tag.VIRTUAL : Tag.FIELD) .naming(Naming.identity()) .typeParameters(typesReader.parameters) .addAllDoc(docFrom(field))
@Test public void requireNonConstant() { check(Naming.identity().requireNonConstant(Preference.PREFIX)).same(Naming.identity()); check(Naming.from("Create").requireNonConstant(Preference.PREFIX).apply("x")).is("CreateX"); check(Naming.from("Create").requireNonConstant(Preference.SUFFIX).apply("x")).is("xCreate"); check(Naming.from("new*").requireNonConstant(Preference.SUFFIX).apply("x")).is("newX"); }
@Test public void sameNaming() { Naming star = Naming.from("*"); check(star.apply("x")).is("x"); check(star.detect("x")).is("x"); check(star.detect("__")).is("__"); check(star).same(Naming.identity()); }
.type(impl.type()) .addTags(Tag.EXPOSE, Tag.SYNTH) .naming(Naming.identity()) .typeParameters(typesReader.parameters) .addAllCode(Code.termsFrom("{\nreturn " + impl.name() + ";\n}")) .name(synthName("copy")) .type(impl.type()) .naming(Naming.identity()) .typeParameters(typesReader.parameters) .addTags(Tag.COPY, Tag.SYNTH) .name(synthName("set")) .type(Type.Primitive.VOID) .naming(Naming.identity()) .typeParameters(typesReader.parameters) .addTags(Tag.INIT, Tag.COPY, Tag.BUILDER, Tag.SYNTH)