SwitcherModel(SwitchMirror mirror, Styles.UsingName.AttributeNames names, TypeElement containedTypeElement) { this.switcherNaming = Naming.from(names.raw).requireNonConstant(Preference.SUFFIX); this.containedTypeElement = Preconditions.checkNotNull(containedTypeElement); this.defaultName = mirror.defaultName(); this.options = constructOptions(); }
@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"); }
private String typeBuilderSimpleName() { boolean isOutside = isOutsideBuilder(); Naming typeBuilderNaming = names().namings.typeBuilder; if (isOutside) { // For outer builder we can override with constant builder naming, but not the default. boolean isPlainDefault = isConstantNamingEquals(typeBuilderNaming, protoclass().environment().defaultStyles().typeBuilder()); if (isPlainDefault) { typeBuilderNaming = typeBuilderNaming.requireNonConstant(Preference.SUFFIX); } } return Naming.Usage.CAPITALIZED.apply(typeBuilderNaming.apply(names().raw)); }
private AppliedNameForms applyFactoryNaming(Naming naming) { String raw = names().raw; boolean hasForwardingFactoryMethods = isImplementationHidden() && protoclass().kind().isNested(); NameForms nameForms = hasForwardingFactoryMethods ? typeEnclosingFactory() : typeImmutable(); if (hasForwardingFactoryMethods) { naming = naming.requireNonConstant(Preference.PREFIX); } String applyName = Naming.Usage.LOWERIZED.apply(naming.apply(raw)); return nameForms.applied(applyName); }
@Test public void usageCorrection() { String suffix = Naming.from("of").requireNonConstant(Preference.SUFFIX).apply("Hen"); check(Naming.Usage.LOWERIZED.apply(suffix)).is("henOf"); String prefix = Naming.from("of").requireNonConstant(Preference.PREFIX).apply("Hen"); check(Naming.Usage.CAPITALIZED.apply(prefix)).is("OfHen"); } }