protected CharSequence _generateDeserializationStatementForUserType( final ResponseBlock response, final UserType type, final ComplexTypeDeclaration declaration) { StringConcatenation _builder = new StringConcatenation(); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(true); _builder.append(_generateDeserializationStatementHeader, ""); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("this."); String _signature = ModelExtensions.signature(type); String _camelize = Strings.camelize(_signature); _builder.append(_camelize, "\t\t"); _builder.append(" = new "); String _signature_1 = ModelExtensions.signature(type); _builder.append(_signature_1, "\t\t"); _builder.append("();"); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("provider.get("); String _signature_2 = ModelExtensions.signature(type); _builder.append(_signature_2, "\t\t"); _builder.append(".class).read(reader, this."); String _signature_3 = ModelExtensions.signature(type); String _camelize_1 = Strings.camelize(_signature_3); _builder.append(_camelize_1, "\t\t"); _builder.append(");"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(true); _builder.append(_generateDeserializationStatementFooter, ""); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateDeserializationStatementForUserType( final ResponseBlock response, final UserType type, final EnumTypeDeclaration declaration) { StringConcatenation _builder = new StringConcatenation(); this.imports.addImport("com.robotoworks.mechanoid.util.Streams"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(false); _builder.append(_generateDeserializationStatementHeader, ""); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("String source = Streams.readAllText(inStream);"); _builder.newLine(); _builder.append("\t\t"); _builder.append("this."); String _signature = ModelExtensions.signature(type); String _camelize = Strings.camelize(_signature); _builder.append(_camelize, "\t\t"); _builder.append(" = "); String _signature_1 = ModelExtensions.signature(type); _builder.append(_signature_1, "\t\t"); _builder.append(".fromValue(source);"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(false); _builder.append(_generateDeserializationStatementFooter, ""); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateFieldForType(final GenericListType type) { StringConcatenation _builder = new StringConcatenation(); { Type _elementType = type.getElementType(); if ((_elementType instanceof IntrinsicType)) { _builder.append("private "); String _signature = ModelExtensions.signature(type); _builder.append(_signature, ""); _builder.append(" values;"); _builder.newLineIfNotEmpty(); } else { _builder.append("private "); String _signature_1 = ModelExtensions.signature(type); _builder.append(_signature_1, ""); _builder.append(" "); String _innerSignature = ModelExtensions.innerSignature(type); String _camelize = Strings.camelize(_innerSignature); String _pluralize = Strings.pluralize(_camelize); _builder.append(_pluralize, ""); _builder.append(";"); _builder.newLineIfNotEmpty(); } } return _builder; }
protected CharSequence _generateFieldForMember(final TypedMember member) { StringConcatenation _builder = new StringConcatenation(); _builder.append("private "); Type _type = member.getType(); String _signature = ModelExtensions.signature(_type); _builder.append(_signature, ""); _builder.append(" "); String _identifier = ModelExtensions.toIdentifier(member); _builder.append(_identifier, ""); _builder.append(";"); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateFieldForType(final UserType type) { StringConcatenation _builder = new StringConcatenation(); _builder.append("private "); String _signature = ModelExtensions.signature(type); _builder.append(_signature, ""); _builder.append(" "); String _signature_1 = ModelExtensions.signature(type); String _camelize = Strings.camelize(_signature_1); String _escapeReserved = ModelExtensions.escapeReserved(_camelize); _builder.append(_escapeReserved, ""); _builder.append(";"); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateDeserializationStatementForType( final ResponseBlock response, final IntrinsicType type) { StringConcatenation _builder = new StringConcatenation(); this.imports.addImport("com.robotoworks.mechanoid.util.Streams"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(false); _builder.append(_generateDeserializationStatementHeader, ""); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("String source = Streams.readAllText(inStream);"); _builder.newLine(); _builder.append("\t\t"); _builder.newLine(); _builder.append("\t\t"); _builder.append("this.value = "); String _boxedTypeSignature = ModelExtensions.getBoxedTypeSignature(type); _builder.append(_boxedTypeSignature, "\t\t"); _builder.append(".valueOf(source);"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(false); _builder.append(_generateDeserializationStatementFooter, ""); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateFieldForType(final IntrinsicType type) { StringConcatenation _builder = new StringConcatenation(); _builder.append("private "); String _signature = ModelExtensions.signature(type); _builder.append(_signature, ""); _builder.append(" value;\t"); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateDeserializationStatementForUserTypeGenericList( final ResponseBlock response, final GenericListType type, final UserType genericType, final ComplexTypeDeclaration declaration) { StringConcatenation _builder = new StringConcatenation(); this.imports.addImport("java.util.List"); _builder.newLineIfNotEmpty(); this.imports.addImport("java.util.ArrayList"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(true); _builder.append(_generateDeserializationStatementHeader, ""); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("this."); String _innerSignature = ModelExtensions.innerSignature(type); String _camelize = Strings.camelize(_innerSignature); String _pluralize = Strings.pluralize(_camelize); _builder.append(_pluralize, "\t\t"); _builder.append(" = new ArrayList<"); String _innerSignature_1 = ModelExtensions.innerSignature(type); _builder.append(_innerSignature_1, "\t\t"); _builder.append(">();"); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("provider.get("); String _innerSignature_2 = ModelExtensions.innerSignature(type); _builder.append(_innerSignature_2, "\t\t"); _builder.append(".class).readList(reader, this."); String _innerSignature_3 = ModelExtensions.innerSignature(type); String _camelize_1 = Strings.camelize(_innerSignature_3); String _pluralize_1 = Strings.pluralize(_camelize_1); _builder.append(_pluralize_1, "\t\t"); _builder.append(");"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(true); _builder.append(_generateDeserializationStatementFooter, ""); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateGetterForType(final GenericListType type) { StringConcatenation _builder = new StringConcatenation(); { Type _elementType = type.getElementType(); if ((_elementType instanceof IntrinsicType)) { _builder.append("public "); String _signature = ModelExtensions.signature(type); _builder.append(_signature, ""); _builder.append(" getValues(){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("return this.values;"); _builder.newLine(); _builder.append("}"); _builder.newLine(); } else { _builder.append("public "); String _signature_1 = ModelExtensions.signature(type); _builder.append(_signature_1, ""); _builder.append(" get"); String _innerSignature = ModelExtensions.innerSignature(type); String _pascalize = Strings.pascalize(_innerSignature); String _pluralize = Strings.pluralize(_pascalize); _builder.append(_pluralize, ""); _builder.append("(){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("return this."); String _innerSignature_1 = ModelExtensions.innerSignature(type); String _camelize = Strings.camelize(_innerSignature_1); String _pluralize_1 = Strings.pluralize(_camelize); _builder.append(_pluralize_1, "\t"); _builder.append(";"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); } } return _builder; }
protected CharSequence _generateGetterForType(final UserType type) { StringConcatenation _builder = new StringConcatenation(); _builder.append("public "); String _signature = ModelExtensions.signature(type); _builder.append(_signature, ""); _builder.append(" get"); String _signature_1 = ModelExtensions.signature(type); String _pascalize = Strings.pascalize(_signature_1); _builder.append(_pascalize, ""); _builder.append("(){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("return this."); String _signature_2 = ModelExtensions.signature(type); String _camelize = Strings.camelize(_signature_2); String _escapeReserved = ModelExtensions.escapeReserved(_camelize); _builder.append(_escapeReserved, "\t"); _builder.append(";"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); return _builder; }
protected CharSequence _generateGetterForType(final IntrinsicType type) { StringConcatenation _builder = new StringConcatenation(); _builder.append("public "); String _signature = ModelExtensions.signature(type); _builder.append(_signature, ""); _builder.append(" getValue(){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("return this.value;"); _builder.newLine(); _builder.append("}"); _builder.newLine(); return _builder; }
protected CharSequence _generateDeserializationStatementForGenericListType( final ResponseBlock response, final GenericListType type, final IntrinsicType genericType) { StringConcatenation _builder = new StringConcatenation(); this.imports.addImport("com.robotoworks.mechanoid.internal.util.JsonUtil"); _builder.newLineIfNotEmpty(); this.imports.addImport("java.util.List"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(true); _builder.append(_generateDeserializationStatementHeader, ""); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("this.values = JsonUtil.read"); String _boxedTypeSignature = ModelExtensions.getBoxedTypeSignature(genericType); _builder.append(_boxedTypeSignature, "\t\t"); _builder.append("List(reader);"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(true); _builder.append(_generateDeserializationStatementFooter, ""); _builder.newLineIfNotEmpty(); return _builder; }
protected CharSequence _generateBaseAccessor(final TypedMember member) { StringConcatenation _builder = new StringConcatenation(); { Type _type = member.getType(); if ((_type instanceof GenericListType)) { this.imports.addImport("java.util.List"); } } _builder.newLineIfNotEmpty(); _builder.append("public "); Type _type_1 = member.getType(); String _signature = ModelExtensions.signature(_type_1); _builder.append(_signature, ""); _builder.append(" "); String _getMethodName = ModelExtensions.toGetMethodName(member); _builder.append(_getMethodName, ""); _builder.append("(){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("return base."); String _getMethodName_1 = ModelExtensions.toGetMethodName(member); _builder.append(_getMethodName_1, "\t"); _builder.append("();"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); _builder.append("public void "); String _setMethodName = ModelExtensions.toSetMethodName(member); _builder.append(_setMethodName, ""); _builder.append("("); Type _type_2 = member.getType(); String _signature_1 = ModelExtensions.signature(_type_2); _builder.append(_signature_1, ""); _builder.append(" value){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("base."); String _setMethodName_1 = ModelExtensions.toSetMethodName(member); _builder.append(_setMethodName_1, "\t"); _builder.append("(value);"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); return _builder; }
protected CharSequence _generateGetter(final TypedMember member) { StringConcatenation _builder = new StringConcatenation(); _builder.append("public "); Type _type = member.getType(); String _signature = ModelExtensions.signature(_type); _builder.append(_signature, ""); _builder.append(" "); String _getMethodName = ModelExtensions.toGetMethodName(member); _builder.append(_getMethodName, ""); _builder.append("(){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("return this."); String _identifier = ModelExtensions.toIdentifier(member); _builder.append(_identifier, "\t"); _builder.append(";"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); _builder.append("public void "); String _setMethodName = ModelExtensions.toSetMethodName(member); _builder.append(_setMethodName, ""); _builder.append("("); Type _type_1 = member.getType(); String _signature_1 = ModelExtensions.signature(_type_1); _builder.append(_signature_1, ""); _builder.append(" value){"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("this."); String _identifier_1 = ModelExtensions.toIdentifier(member); _builder.append(_identifier_1, "\t"); _builder.append(" = value;"); _builder.newLineIfNotEmpty(); _builder.append("}"); _builder.newLine(); return _builder; }
protected CharSequence _generateDeserializationStatementForUserTypeGenericList( final ResponseBlock response, final GenericListType type, final UserType genericType, final EnumTypeDeclaration declaration) { StringConcatenation _builder = new StringConcatenation(); this.imports.addImport("com.robotoworks.mechanoid.internal.util.JsonToken"); _builder.newLineIfNotEmpty(); this.imports.addImport("java.util.ArrayList"); _builder.newLineIfNotEmpty(); this.imports.addImport("java.util.List"); _builder.newLineIfNotEmpty(); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(true); _builder.append(_generateDeserializationStatementHeader, ""); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.append("this."); String _innerSignature = ModelExtensions.innerSignature(type); String _camelize = Strings.camelize(_innerSignature); String _pluralize = Strings.pluralize(_camelize); _builder.append(_pluralize, "\t\t"); _builder.append(" = new Array"); String _signature = ModelExtensions.signature(type); _builder.append(_signature, "\t\t"); _builder.append("();"); _builder.newLineIfNotEmpty(); _builder.append("\t\t"); _builder.newLine(); _builder.append("\t\t"); _builder.append("if(reader.peek() != JsonToken.NULL) {"); _builder.newLine(); _builder.append("\t\t\t"); _builder.newLine(); _builder.append("\t\t\t"); _builder.append("reader.beginArray();"); _builder.newLine(); _builder.append("\t\t\t"); _builder.newLine(); _builder.append("\t\t\t"); _builder.append("while(reader.hasNext()) {"); _builder.newLine(); _builder.append("\t\t\t\t"); String _innerSignature_1 = ModelExtensions.innerSignature(type); _builder.append(_innerSignature_1, "\t\t\t\t"); _builder.append(" element = "); String _innerSignature_2 = ModelExtensions.innerSignature(type); _builder.append(_innerSignature_2, "\t\t\t\t"); _builder.append(".fromValue(reader."); String _resolveJsonReaderMethodName = ModelExtensions.resolveJsonReaderMethodName(declaration); _builder.append(_resolveJsonReaderMethodName, "\t\t\t\t"); _builder.append("());"); _builder.newLineIfNotEmpty(); _builder.append("\t\t\t\t"); _builder.append("this."); String _innerSignature_3 = ModelExtensions.innerSignature(type); String _camelize_1 = Strings.camelize(_innerSignature_3); String _pluralize_1 = Strings.pluralize(_camelize_1); _builder.append(_pluralize_1, "\t\t\t\t"); _builder.append(".add(element);"); _builder.newLineIfNotEmpty(); _builder.append("\t\t\t"); _builder.append("}"); _builder.newLine(); _builder.append("\t\t\t"); _builder.newLine(); _builder.append("\t\t\t"); _builder.append("reader.endArray();"); _builder.newLine(); _builder.append("\t\t"); _builder.append("}"); _builder.newLine(); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(true); _builder.append(_generateDeserializationStatementFooter, ""); _builder.newLineIfNotEmpty(); return _builder; }
public CharSequence generateResponseClass( final HttpMethod method, final Model module, final Client client) { StringConcatenation _builder = new StringConcatenation(); final ResponseBlock responseBlock = ModelExtensions.getResponseBlock(method); _builder.newLineIfNotEmpty(); _builder.append("public class "); String _name = method.getName(); String _pascalize = Strings.pascalize(_name); _builder.append(_pascalize, ""); _builder.append("Result extends ServiceResult {"); _builder.newLineIfNotEmpty(); { BlockType _type = null; if (responseBlock != null) { _type = responseBlock.getType(); } boolean _notEquals = (!Objects.equal(_type, null)); if (_notEquals) { _builder.append("\t"); BlockType _type_1 = responseBlock.getType(); CharSequence _generateFieldForType = this.generateFieldForType(_type_1); _builder.append(_generateFieldForType, "\t"); _builder.append("\t"); _builder.newLineIfNotEmpty(); _builder.append("\t"); BlockType _type_2 = responseBlock.getType(); CharSequence _generateGetterForType = this.generateGetterForType(_type_2); _builder.append(_generateGetterForType, "\t"); _builder.append("\t"); _builder.newLineIfNotEmpty(); } } { ComplexTypeDeclaration _superType = null; if (responseBlock != null) { _superType = responseBlock.getSuperType(); } boolean _notEquals_1 = (!Objects.equal(_superType, null)); if (_notEquals_1) { _builder.append("\t"); _builder.append("private "); ComplexTypeDeclaration _superType_1 = responseBlock.getSuperType(); String _name_1 = _superType_1.getName(); String _pascalize_1 = Strings.pascalize(_name_1); _builder.append(_pascalize_1, "\t"); _builder.append(" base;"); _builder.newLineIfNotEmpty(); _builder.append("\t"); ComplexTypeDeclaration _superType_2 = responseBlock.getSuperType(); ComplexTypeLiteral _literal = _superType_2.getLiteral(); EList<Member> _members = _literal.getMembers(); final Function1<Member, Boolean> _function = new Function1<Member, Boolean>() { @Override public Boolean apply(final Member superMember) { BlockType _type = null; if (responseBlock != null) { _type = responseBlock.getType(); } if ((_type instanceof ComplexTypeLiteral)) { BlockType _type_1 = responseBlock.getType(); EList<Member> _members = ((ComplexTypeLiteral) _type_1).getMembers(); final Function1<Member, Boolean> _function = new Function1<Member, Boolean>() { @Override public Boolean apply(final Member member) { String _name = superMember.getName(); String _name_1 = member.getName(); return Boolean.valueOf(_name.equals(_name_1)); } }; Member _findFirst = IterableExtensions.<Member>findFirst(_members, _function); return Boolean.valueOf(Objects.equal(_findFirst, null)); } return Boolean.valueOf(true); } }; Iterable<Member> _filter = IterableExtensions.<Member>filter(_members, _function); CharSequence _generateBaseAccessors = this.generateBaseAccessors(_filter); _builder.append(_generateBaseAccessors, "\t"); _builder.newLineIfNotEmpty(); } } _builder.append("\t"); _builder.newLine(); _builder.append("\t"); _builder.append("public "); String _name_2 = method.getName(); String _pascalize_2 = Strings.pascalize(_name_2); _builder.append(_pascalize_2, "\t"); _builder.append( "Result(JsonEntityReaderProvider provider, InputStream inStream) throws IOException {"); _builder.newLineIfNotEmpty(); { boolean _notEquals_2 = (!Objects.equal(responseBlock, null)); if (_notEquals_2) { { boolean _or = false; BlockType _type_3 = responseBlock.getType(); if ((_type_3 instanceof ComplexTypeLiteral)) { _or = true; } else { ComplexTypeDeclaration _superType_3 = responseBlock.getSuperType(); boolean _notEquals_3 = (!Objects.equal(_superType_3, null)); _or = _notEquals_3; } if (_or) { _builder.append("\t"); CharSequence _generateDeserializationStatementHeader = this.generateDeserializationStatementHeader(true); _builder.append(_generateDeserializationStatementHeader, "\t"); _builder.newLineIfNotEmpty(); { ComplexTypeDeclaration _superType_4 = responseBlock.getSuperType(); boolean _notEquals_4 = (!Objects.equal(_superType_4, null)); if (_notEquals_4) { _builder.append("\t"); _builder.append("\t"); _builder.append("this.base = new "); ComplexTypeDeclaration _superType_5 = responseBlock.getSuperType(); String _name_3 = _superType_5.getName(); String _pascalize_3 = Strings.pascalize(_name_3); _builder.append(_pascalize_3, "\t\t"); _builder.append("();"); _builder.newLineIfNotEmpty(); } } { BlockType _type_4 = responseBlock.getType(); if ((_type_4 instanceof ComplexTypeLiteral)) { _builder.append("\t"); _builder.append("\t"); String _name_4 = method.getName(); String _pascalize_4 = Strings.pascalize(_name_4); _builder.append(_pascalize_4, "\t\t"); _builder.append("Result subject = this;"); _builder.newLineIfNotEmpty(); _builder.append("\t"); _builder.append("\t"); BlockType _type_5 = responseBlock.getType(); ComplexTypeDeclaration _superType_6 = null; if (responseBlock != null) { _superType_6 = responseBlock.getSuperType(); } ComplexTypeLiteral _literal_1 = null; if (_superType_6 != null) { _literal_1 = _superType_6.getLiteral(); } EList<Member> _mergeMembers = this.mergeMembers(((ComplexTypeLiteral) _type_5), _literal_1); CharSequence _genReadComplexTypeLiteralForMembers = this.jsonReaderGenerator.genReadComplexTypeLiteralForMembers(_mergeMembers); _builder.append(_genReadComplexTypeLiteralForMembers, "\t\t"); _builder.newLineIfNotEmpty(); } } _builder.append("\t"); CharSequence _generateDeserializationStatementFooter = this.generateDeserializationStatementFooter(true); _builder.append(_generateDeserializationStatementFooter, "\t"); _builder.newLineIfNotEmpty(); } else { _builder.append("\t"); BlockType _type_6 = responseBlock.getType(); CharSequence _generateDeserializationStatementForType = this.generateDeserializationStatementForType(responseBlock, ((Type) _type_6)); _builder.append(_generateDeserializationStatementForType, "\t"); _builder.newLineIfNotEmpty(); } } } else { _builder.append("\t"); _builder.append("Closeables.closeSilently(inStream);"); _builder.newLine(); } } _builder.append("\t"); _builder.append("}"); _builder.newLine(); _builder.append("}"); _builder.newLine(); return _builder; }