boolean memberHasAlias = member.hasAlias(); if (memberType.getDereferencedType() != Type.NULL)
/** * Encode a specific {@link com.linkedin.data.schema.UnionDataSchema.Member} of a union. * * @param member The specific union member that needs to be encoded. * @throws IOException if there is an error while encoding. */ protected void encodeUnionMember(UnionDataSchema.Member member) throws IOException { if (member.hasAlias()) { _builder.writeStartObject(); // alias _builder.writeStringField(ALIAS_KEY, member.getAlias(), true); // type _builder.writeFieldName(TYPE_KEY); encode(member.getType(), member.isDeclaredInline()); // doc _builder.writeStringField(DOC_KEY, member.getDoc(), false); // properties _builder.writeProperties(member.getProperties()); _builder.writeEndObject(); } else { // for member without aliases, encode the type encode(member.getType(), member.isDeclaredInline()); } }
/** * Returns the key that will be used for this member while serializing the Union. If an alias * is available for this member, the alias will be returned else the default union member key * of the member's type will be returned. * * @return The union member key for this member */ public String getUnionMemberKey() { return hasAlias() ? _alias : _type.getUnionMemberKey(); }