private void addEnumConstants(JsonNode node, JDefinedClass _enum, JsonNode customNames, JType type) { Collection<String> existingConstantNames = new ArrayList<>(); for (int i = 0; i < node.size(); i++) { JsonNode value = node.path(i); if (!value.isNull()) { String constantName = getConstantName(value.asText(), customNames.path(i).asText()); constantName = makeUnique(constantName, existingConstantNames); existingConstantNames.add(constantName); JEnumConstant constant = _enum.enumConstant(constantName); constant.arg(DefaultRule.getDefaultValue(type, value)); ruleFactory.getAnnotator().enumConstant(_enum, constant, value.asText()); } } }
@Override public void enumConstant(JDefinedClass _enum, JEnumConstant constant, String value) { constant.annotate(SerializedName.class).param("value", value); }
public <T> EnumBuilder withEnum(T name, Class<T> type) { pojoCreationCheck(); String cleaned = NamingHelper.cleanNameForJavaEnum(name.toString()); if (!doesEnumContainField(type, cleaned)) { withValueField(type); ENUM_CACHE.put(cleaned, true); logger.debug("Adding field: {} to {}", name, this.pojo.name()); if (StringUtils.hasText(cleaned)) { JEnumConstant enumConstant = this.pojo.enumConstant(cleaned); if (type.equals(Integer.class)) { enumConstant.arg(JExpr.lit((Integer) name)); } else if (type.equals(Boolean.class)) { enumConstant.arg(JExpr.lit((Boolean) name)); } else if (type.equals(Double.class)) { enumConstant.arg(JExpr.lit((Double) name)); } else if (type.equals(Float.class)) { enumConstant.arg(JExpr.lit((Float) name)); } else if (type.equals(Long.class)) { enumConstant.arg(JExpr.lit((Long) name)); } else { enumConstant.arg(JExpr.lit(name.toString())); enumConstant.annotate(JsonProperty.class).param("value", name.toString()); } } } return this; }
protected void addEnumConstants() { // TODO optionally add an ILLEGAL_VALUE constant, which could be returned from the findValue() method for (SmiNamedNumber namedNumber : type.getNamedNumbers()) { JEnumConstant ec = definedClass.enumConstant(namedNumber.getCodeId()); ec.arg(JExpr.lit(namedNumber.getId())); ec.arg(JExpr.lit(namedNumber.getValue().intValue())); ec.javadoc().add("<pre>" + namedNumber.toString() + "</pre>"); } }
/** * If the named enum already exists, the reference to it is returned. * Otherwise this method generates a new enum reference with the given * name and returns it. * * @param name * The name of the constant. * @return * The generated type-safe enum constant. */ public JEnumConstant enumConstant(String name){ JEnumConstant ec = enumConstantsByName.get(name); if (null == ec) { ec = new JEnumConstant(this, name); enumConstantsByName.put(name, ec); } return ec; }
/** * Extract documentation from a WADL option and add it to the * corresponding Java enum constant. * @param o the WADL option * @param c the corresponding Java enum constant */ void generateEnumConstantDoc(Option o, JEnumConstant c) { if (o.getDoc().size() < 1) return; Doc d = o.getDoc().get(0); JDocComment jdoc = c.javadoc(); appendTextContent(d, jdoc); }
private void addOidValue(SmiOidValue v) { SmiPrimitiveType primitiveType = determinePrimitiveType(v); // -1 for variables that are not scalars or columns: byte berValue = primitiveType != null ? primitiveType.getVarBindField().getBerTagValue() : -1; JEnumConstant ec = definedClass.enumConstant(v.getCodeId()) .arg(JExpr.lit(v.getId())) .arg(JExpr.lit(v.getOidStr())) .arg(JExpr.lit(berValue)); ec.javadoc().append("<pre>" + v.getId() + ": " + v.getOidStr() + "</pre>\n\n"); if (primitiveType != null) { ec.javadoc().append("<pre>Type:" + primitiveType + "<pre>\n\n"); } if (v instanceof SmiObjectType) { SmiObjectType objectType = (SmiObjectType) v; ec.javadoc().append("<pre>" + objectType.getDescription() + "</pre>"); } if (v instanceof SmiNotificationType) { SmiNotificationType notificationType = (SmiNotificationType) v; ec.javadoc().append("<pre>" + notificationType.getDescription() + "</pre>"); } // TODO add link to generated enum type, if applicable }
/** * If the named enum already exists, the reference to it is returned. * Otherwise this method generates a new enum reference with the given * name and returns it. * * @param name * The name of the constant. * @return * The generated type-safe enum constant. */ public JEnumConstant enumConstant(String name){ JEnumConstant ec = enumConstantsByName.get(name); if (null == ec) { ec = new JEnumConstant(this, name); enumConstantsByName.put(name, ec); } return ec; }
@Override public void enumConstant(JDefinedClass _enum, JEnumConstant constant, String value) { JClass moshiAnnotation = _enum.owner().directClass("com.squareup.moshi.Json"); constant.annotate(moshiAnnotation).param("name", value); }
/** * If the named enum already exists, the reference to it is returned. * Otherwise this method generates a new enum reference with the given * name and returns it. * * @param name * The name of the constant. * @return * The generated type-safe enum constant. */ public JEnumConstant enumConstant(String name){ JEnumConstant ec = enumConstantsByName.get(name); if (null == ec) { ec = new JEnumConstant(this, name); enumConstantsByName.put(name, ec); } return ec; }
private void addEnumConstants(JsonNode node, JDefinedClass _enum) { for (Iterator<JsonNode> values = node.elements(); values.hasNext();) { JsonNode value = values.next(); if (!value.isNull()) { JEnumConstant constant = _enum.enumConstant(getConstantName(value.asText())); constant.arg(JExpr.lit(value.asText())); } } }
@Override public void enumConstant(JDefinedClass _enum, JEnumConstant constant, String value) { constant.annotate(SerializedName.class).param("value", value); }
/** * If the named enum already exists, the reference to it is returned. * Otherwise this method generates a new enum reference with the given * name and returns it. * * @param name * The name of the constant. * @return * The generated type-safe enum constant. */ public JEnumConstant enumConstant(String name){ JEnumConstant ec = enumConstantsByName.get(name); if (null == ec) { ec = new JEnumConstant(this, name); enumConstantsByName.put(name, ec); } return ec; }
private void addEnumConstants(JsonNode node, JDefinedClass _enum, JsonNode customNames, JType type) { Collection<String> existingConstantNames = new ArrayList<>(); for (int i = 0; i < node.size(); i++) { JsonNode value = node.path(i); if (!value.isNull()) { String constantName = getConstantName(value.asText(), customNames.path(i).asText()); constantName = makeUnique(constantName, existingConstantNames); existingConstantNames.add(constantName); JEnumConstant constant = _enum.enumConstant(constantName); constant.arg(DefaultRule.getDefaultValue(type, value)); ruleFactory.getAnnotator().enumConstant(_enum, constant, value.asText()); } } }