private void generateChainableSetters(StringBuilder classBodyBuilder) { for (int i = 0; i < schema.numFields(); i++) { classBodyBuilder.append(" public ").append(getClassName()).append(" set") .append(uppercase(getFieldName(i))).append("(") .append(fieldType(i)).append(" ").append(getFieldName(i)).append(") {\n"); classBodyBuilder.append(" this.").append(getFieldName(i)).append(" = ") .append(getFieldName(i)).append(";\n"); classBodyBuilder.append(" return this;\n"); classBodyBuilder.append(" }\n"); } }
private void generateToStringMethod(StringBuilder classBodyBuilder) { classBodyBuilder.append(" public String toString() {\n"); classBodyBuilder.append(" StringBuilder builder = new StringBuilder(\"").append(getClassName()).append("{\");\n"); for (int i=0;i<schema.numFields();i++) { classBodyBuilder.append(" builder.append(\""); if (i > 0) classBodyBuilder.append(","); classBodyBuilder.append(getFieldName(i)).append("=\").append(").append(getFieldName(i)).append(");\n"); } classBodyBuilder.append(" builder.append(\"}\");\n"); classBodyBuilder.append(" return builder.toString();\n"); classBodyBuilder.append(" }\n\n"); }
private int getIndexFromFieldName(String fieldName) { for (int i = 0; i < schema.numFields(); i++) { if (getFieldName(i).equals(fieldName)) { return i; } } return -1; } }
case INT: case LONG: classBodyBuilder.append(" if (o.").append(getFieldName(i)).append(" != ").append(getFieldName(i)).append(") return false;\n"); break; case BYTES: case STRING: importClasses.add(Objects.class); classBodyBuilder.append(" if (!Objects.equals(o.").append(getFieldName(i)).append(", ") .append(getFieldName(i)).append(")) return false;\n"); break; case REFERENCE: classBodyBuilder.append(" if (o.").append(getFieldName(i)).append(" == null) {\n"); classBodyBuilder.append(" if (").append(getFieldName(i)).append(" != null) return false;\n"); classBodyBuilder.append(" } else if (!o.").append(getFieldName(i)).append(".equals(").append(getFieldName(i)).append(")) return false;\n"); break;
private void generateInstanceVariables(StringBuilder classBodyBuilder) { for (int i = 0;i < schema.numFields();i++) { if (fieldNeedsTypeNameAnnotation(i)) { classBodyBuilder.append(" @HollowTypeName(name=\"").append(schema.getReferencedType(i)).append("\")\n"); } if (fieldNeedsInlineAnnotation(i)) { importClasses.add(HollowInline.class); classBodyBuilder.append(" @HollowInline\n"); } classBodyBuilder.append(" public "); classBodyBuilder.append(fieldType(i)); classBodyBuilder.append(" ").append(getFieldName(i)).append(" = ").append(defaultValue(i)).append(";\n"); } }
boolean tempExists = false; for (int i = 0; i < schema.numFields(); i++) { String fieldName = getFieldName(i); switch (schema.getFieldType(i)) { case BOOLEAN:
private void generateChainableAddForSetAndList(StringBuilder classBodyBuilder) { for (int i = 0; i < schema.numFields(); i++) { if (schema.getFieldType(i) != FieldType.REFERENCE) { continue; } HollowSchema referencedSchema = dataset.getSchema(schema.getReferencedType(i)); if (referencedSchema instanceof HollowListSchema || referencedSchema instanceof HollowSetSchema) { HollowSchema elementSchema = dataset.getSchema(referencedSchema instanceof HollowListSchema ? ((HollowListSchema) referencedSchema).getElementType() : ((HollowSetSchema) referencedSchema).getElementType()); String elementType = buildFieldType(elementSchema); Class fieldImplementationType = referencedSchema instanceof HollowListSchema ? ArrayList.class : HashSet.class; importClasses.add(fieldImplementationType); classBodyBuilder.append(" public ").append(getClassName()).append(" addTo") .append(uppercase(getFieldName(i))).append("(") .append(elementType).append(" ").append(lowercase(elementType)).append(") {\n"); classBodyBuilder.append(" if (this.").append(getFieldName(i)).append(" == null) {\n"); classBodyBuilder.append(" this.").append(getFieldName(i)).append(" = new ") .append(fieldImplementationType.getSimpleName()).append("<").append(elementType).append(">();\n"); classBodyBuilder.append(" }\n"); classBodyBuilder.append(" this.").append(getFieldName(i)).append(".add(") .append(lowercase(elementType)).append(");\n"); classBodyBuilder.append(" return this;\n"); classBodyBuilder.append(" }\n"); } } }
private void generateConstructorForPrimaryKey(StringBuilder classBodyBuilder) { PrimaryKey primaryKey = schema.getPrimaryKey(); if (primaryKey == null) { return; } // don't allow no-arg constructors if we have a primary key classBodyBuilder.append(" private ").append(getClassName()).append("() {}\n\n"); classBodyBuilder.append(" public ").append(getClassName()).append("("); // classBodyBuilder.append(" this.").append(.fieldType for (int i = 0; i < primaryKey.numFields(); i++) { if (i > 0) { classBodyBuilder.append(", "); } int fieldIndex = getIndexFromFieldName(primaryKey.getFieldPath(i)); classBodyBuilder.append(fieldType(fieldIndex)).append(" ").append(getFieldName(fieldIndex)); } classBodyBuilder.append(") {\n"); for (int i = 0; i < primaryKey.numFields(); i++) { int fieldIndex = getIndexFromFieldName(primaryKey.getFieldPath(i)); classBodyBuilder.append(" this.").append(getFieldName(fieldIndex)).append(" = ") .append(getFieldName(fieldIndex)).append(";\n"); } classBodyBuilder.append(" }\n\n"); }