// Path: javabank-core/src/main/java/org/mbtest/javabank/http/responses/Response.java
// public abstract class Response extends HashMap {
// 
//     public JSONObject getJSON() {
//         return new JSONObject(this);
//     }
// 
//     public String toString() {
//         return getJSON().toJSONString();
//     }
// }


import org.mbtest.javabank.http.responses.Response;
package org.mbtest.javabank.fluent;


public class ResponseBuilder implements FluentBuilder {
    private StubBuilder parent;
    private ResponseTypeBuilder builder;

    protected ResponseBuilder(StubBuilder stubBuilder) {
        this.parent = stubBuilder;
    }

    public IsBuilder is() {
        builder = new IsBuilder(this);
        return (IsBuilder) builder;
    }

    public InjectBuilder inject() {
        builder = new InjectBuilder(this);
        return (InjectBuilder) builder;
    }

    @Override
    public StubBuilder end() {
        return parent;
    }

// Path: javabank-core/src/main/java/org/mbtest/javabank/http/responses/Response.java
// public abstract class Response extends HashMap {
// 
//     public JSONObject getJSON() {
//         return new JSONObject(this);
//     }
// 
//     public String toString() {
//         return getJSON().toJSONString();
//     }
// }


// Path: javabank-core/src/main/java/org/mbtest/javabank/fluent/ResponseBuilder.java
import org.mbtest.javabank.http.responses.Response;

package org.mbtest.javabank.fluent;


public class ResponseBuilder implements FluentBuilder {
    private StubBuilder parent;
    private ResponseTypeBuilder builder;

    protected ResponseBuilder(StubBuilder stubBuilder) {
        this.parent = stubBuilder;
    }

    public IsBuilder is() {
        builder = new IsBuilder(this);
        return (IsBuilder) builder;
    }

    public InjectBuilder inject() {
        builder = new InjectBuilder(this);
        return (InjectBuilder) builder;
    }

    @Override
    public StubBuilder end() {
        return parent;
    }

    protected Response build() {