/** * Copy constructor. * * @param prototype the prototype */ protected EnumConstantImpl(EnumConstant prototype) { name = requireNonNull(prototype).getName(); javadoc = prototype.getJavadoc().orElse(null); imports = Copier.copy(prototype.getImports()); classes = Copier.copy(prototype.getClasses(), c -> c.copy()); initializers = Copier.copy(prototype.getInitializers(), c -> c.copy()); methods = Copier.copy(prototype.getMethods(), c -> c.copy()); fields = Copier.copy(prototype.getFields(), c -> c.copy()); values = Copier.copy(prototype.getValues(), c -> c.copy()); annotations = Copier.copy(prototype.getAnnotations(), c -> c.copy()); }
@Override protected String onBeforeFields(Generator gen, Enum model) { requireNonNulls(gen, model); final List<String> constants = model.getConstants().stream() .map(c -> gen.on(c).get()).collect(toList()); Formatting.alignTabs(constants); return constants.stream().collect( joinIfNotEmpty( (!model.getConstants().isEmpty() && (!model.getConstants().get(0).getValues().isEmpty() || !model.getConstants().get(0).getAnnotations().isEmpty())) ? "," + nl() : ", ", "", ";" ) ); }
@Override public Optional<String> transform(Generator gen, EnumConstant model) { requireNonNulls(gen, model); final String inner; if (model.getMethods().isEmpty() && model.getFields().isEmpty() && model.getInitializers().isEmpty()) { inner = ""; } else { inner = " " + block(separate( renderFields(gen, model), renderInitalizers(gen, model), renderMethods(gen, model), renderClasses(gen, model) )); } return Optional.of( renderJavadoc(gen, model) + renderAnnotations(gen, model) + model.getName() + (model.getValues().isEmpty() ? "" : " ") + gen.onEach(model.getValues()).collect( joinIfNotEmpty(", ", "\t(", ")") ) + inner ); } }
/** * Copy constructor. * * @param prototype the prototype */ protected EnumConstantImpl(EnumConstant prototype) { name = requireNonNull(prototype).getName(); javadoc = prototype.getJavadoc().orElse(null); classes = Copier.copy(prototype.getClasses(), v -> v.copy()); initializers = Copier.copy(prototype.getInitializers(), v -> v.copy()); methods = Copier.copy(prototype.getMethods(), v -> v.copy()); fields = Copier.copy(prototype.getFields(), v -> v.copy()); values = Copier.copy(prototype.getValues(), v -> v.copy()); }
/** * Adds the specified construction parameter to this constant. * * @param value the construction parameter * @return a reference to this model */ default EnumConstant add(Value<?> value) { getValues().add(value); return this; }
@Override public Optional<String> transform(Generator gen, EnumConstant model) { requireNonNulls(gen, model); final String inner; if (model.getMethods().isEmpty() && model.getFields().isEmpty() && model.getInitializers().isEmpty()) { inner = ""; } else { inner = " " + block(separate( renderFields(gen, model), renderInitalizers(gen, model), renderMethods(gen, model), renderClasses(gen, model) )); } return Optional.of( renderJavadoc(gen, model) + model.getName() + (model.getValues().isEmpty() ? "" : " ") + gen.onEach(model.getValues()).collect( joinIfNotEmpty(", ", "\t(", ")") ) + inner ); } }
@Override protected String onBeforeFields(Generator gen, Enum model) { requireNonNulls(gen, model); final List<String> constants = model.getConstants().stream() .map(c -> gen.on(c).get()).collect(toList()); Formatting.alignTabs(constants); return constants.stream().collect( joinIfNotEmpty( (!model.getConstants().isEmpty() && (!model.getConstants().get(0).getValues().isEmpty() || !model.getConstants().get(0).getAnnotations().isEmpty())) ? "," + nl() : ", ", "", ";" ) ); }
/** * Adds the specified construction parameter to this constant. * * @param value the construction parameter * @return a reference to this model */ default EnumConstant add(Value<?> value) { getValues().add(value); return this; }
/** * Copy constructor. * * @param prototype the prototype */ protected EnumConstantImpl(EnumConstant prototype) { name = requireNonNull(prototype).getName(); javadoc = prototype.getJavadoc().orElse(null); imports = Copier.copy(prototype.getImports()); classes = Copier.copy(prototype.getClasses(), c -> c.copy()); initializers = Copier.copy(prototype.getInitializers(), c -> c.copy()); methods = Copier.copy(prototype.getMethods(), c -> c.copy()); fields = Copier.copy(prototype.getFields(), c -> c.copy()); values = Copier.copy(prototype.getValues(), c -> c.copy()); annotations = Copier.copy(prototype.getAnnotations(), c -> c.copy()); }
@Override public Optional<String> transform(Generator gen, EnumConstant model) { requireNonNulls(gen, model); final String inner; if (model.getMethods().isEmpty() && model.getFields().isEmpty() && model.getInitializers().isEmpty()) { inner = ""; } else { inner = " " + block(separate( renderFields(gen, model), renderInitalizers(gen, model), renderMethods(gen, model), renderClasses(gen, model) )); } return Optional.of( renderJavadoc(gen, model) + renderAnnotations(gen, model) + model.getName() + (model.getValues().isEmpty() ? "" : " ") + gen.onEach(model.getValues()).collect( joinIfNotEmpty(", ", "\t(", ")") ) + inner ); } }
/** * Adds the specified construction parameter to this constant. * * @param value the construction parameter * @return a reference to this model */ default EnumConstant add(Value<?> value) { getValues().add(value); return this; }
@Override protected String onBeforeFields(Generator gen, Enum model) { requireNonNulls(gen, model); final List<String> constants = model.getConstants().stream() .map(c -> gen.on(c).get()).collect(toList()); Formatting.alignTabs(constants); return constants.stream().collect( joinIfNotEmpty( (!model.getConstants().isEmpty() && !model.getConstants().get(0).getValues().isEmpty()) ? "," + nl() : ", ", "", ";" ) ); }