public Type getType() { return member==null ? null : member.getType(); } public void setType(Type type) {
public boolean isCollection() { return member.getType() instanceof ListType; }
private Type getType(Type type, Name name) { //all nodes except for leaves in MemberInvovlementTree are assumed //to be a StructType or ListType (for collections) if (type instanceof StructType) { return ((StructType)type).getMember(name).get().getType(); } else if (type instanceof ListType) { ListType listType = (ListType)type; //use the element-type of the list StructType structType = (StructType)listType.getElementType(); return structType.getMember(name).get().getType(); } else { throw new IllegalArgumentException("Expected StructType or ListType element"); } }
private void generateContainerFields(StructMember member) { // Get the name of the field: Name name = member.getName(); String field = javaNames.getJavaMemberStyleName(name); // Get the type reference: Type type = member.getType(); JavaTypeReference typeReference = javaTypes.getTypeReference(type, true); javaBuffer.addImports(typeReference.getImports()); // Generate the field: javaBuffer.addLine("private %1$s %2$s;", typeReference.getText(), field); }
private void generateBuilderFields(StructMember member) { // Get the name of the property: Name name = member.getName(); String field = javaNames.getJavaMemberStyleName(name); // Get the type reference: Type type = member.getType(); JavaTypeReference typeReference = javaTypes.getTypeReference(type, true); javaBuffer.addImports(typeReference.getImports()); // Generate the field: javaBuffer.addLine("private %1$s %2$s;", typeReference.getText(), field); }
private void writeStructMemberAsAttribute(StructMember member) { // Get the name and the type: Name memberName = member.getName(); Type memberType = member.getType(); // Write the attribute definition: writer.writeStartElement(XS_URI, "attribute"); writer.writeAttribute("name", schemaNames.getSchemaTagName(memberName)); writer.writeAttribute("type", getMemberSchemaTypeName(member.getDeclaringType(), memberType, memberName)); writer.writeEndElement(); }
private void generateInterfaceMembers(StructMember member) { // Get the name of the property: Name name = member.getName(); Type type = member.getType(); Model model = type.getModel(); String field = javaNames.getJavaMemberStyleName(name); // Get the type reference: JavaTypeReference typeReference = javaTypes.getTypeReference(type, false); javaBuffer.addImports(typeReference.getImports()); // Generate the getters: javaBuffer.addLine("%1$s %2$s();", typeReference, field); if (type == model.getIntegerType()) { javaBuffer.addLine("Byte %1$sAsByte();", field); javaBuffer.addLine("Short %1$sAsShort();", field); javaBuffer.addLine("Integer %1$sAsInteger();", field); javaBuffer.addLine("Long %1$sAsLong();", field); } javaBuffer.addLine(); // Generate the checker: javaBuffer.addLine("boolean %1$sPresent();", field); javaBuffer.addLine(); }
private void generateStructWriteMemberAsAttribute(StructMember member) { Name name = member.getName(); Type type = member.getType(); String field = javaNames.getJavaMemberStyleName(name); String tag = schemaNames.getSchemaTagName(name); javaBuffer.addLine("if (object.%1$sPresent()) {", field); if (type instanceof PrimitiveType) { Model model = type.getModel(); if (type == model.getBooleanType() || type == model.getIntegerType() || type == model.getDecimalType()) { javaBuffer.addLine("writer.writeAttribute(\"%1$s\", object.%2$s().toString());", tag, field); } else if (type == model.getStringType()) { javaBuffer.addLine("writer.writeAttribute(\"%1$s\", object.%2$s());", tag, field); } else if (type == model.getDateType()) { // TODO: This isn't the XML schema format. javaBuffer.addLine("writer.writeAttribute(\"%1$s\", object.%2$s().toString());", tag, field); } } else if (type instanceof EnumType) { javaBuffer.addLine("writer.writeAttribute(\"%1$s\", object.%2$s().value());", tag, field); } javaBuffer.addLine("}"); }
private void generateStructReadMemberFromAttribute(StructMember member) { Name name = member.getName(); Type type = member.getType(); String field = javaNames.getJavaMemberStyleName(name); String tag = schemaNames.getSchemaTagName(name);
private void generateStructReadMember(StructMember member) { Name name = member.getName(); Type type = member.getType(); String field = javaNames.getJavaMemberStyleName(name); String tag = schemaNames.getSchemaTagName(name);
private void generateStructWriteMember(StructMember member) { Name name = member.getName(); Type type = member.getType(); String field = javaNames.getJavaMemberStyleName(name); String tag = schemaNames.getSchemaTagName(name);
private void generateStructReadMemberFromElement(StructMember member) { Name name = member.getName(); Type type = member.getType(); String field = javaNames.getJavaMemberStyleName(name); String tag = schemaNames.getSchemaTagName(name);
private void writeStructMemberAsElement(StructMember member) { Type memberType = member.getType();
private void generateStructWriteMemberAsElement(StructMember member) { Name name = member.getName(); Type type = member.getType(); String field = javaNames.getJavaMemberStyleName(name); String tag = schemaNames.getSchemaTagName(name);
private void generateContainerMethods(StructMember member) { Type type = member.getType(); Model model = type.getModel(); String field = javaNames.getJavaMemberStyleName(name);
Type type = member.getType(); JavaTypeReference typeReference = javaTypes.getTypeReference(type, false); JavaClassName thisName = javaTypes.getBuilderName(struct);