/**
 *
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 *
 */

package com.microsoft.rest.core;

public class HttpOperationResponse {
    private int httpStatusCode;

    /**
     * Gets the HTTP status code for the request.
     * 
     * @return The HTTP status code.
     */
    public int getStatusCode() {
        return this.httpStatusCode;
    }

    /**
     * Sets the HTTP status code for the request.
     * 
     * @param httpStatusCode
     *            The HTTP status code.
     */
    public void setStatusCode(int httpStatusCode) {
        this.httpStatusCode = httpStatusCode;
    }

    private String requestId;

    /**
     * Gets the request identifier.
     * 
     * @return The request identifier.
     */
    public String getRequestId() {
        return this.requestId;
    }

    /**
     * Sets the request identifier.
     * 
     * @param requestId
     *            The request identifier.
     */
    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }
}

@@ -199,16 +199,90 @@
 .core;%0A%0A
+import org.apache.http.HttpRequest;%0Aimport org.apache.http.HttpResponse;%0A%0A
 public c
@@ -307,16 +307,19 @@
 Response
+%3CT%3E
  %7B%0A    p
@@ -325,33 +325,69 @@
 private 
-int httpStatusCod
+HttpRequest request;%0A    private HttpResponse respons
 e;%0A%0A    
@@ -411,36 +411,16 @@
 he HTTP 
-status code for the 
 request.
@@ -418,33 +418,32 @@
  request.%0A     *
- 
 %0A     * @return 
@@ -447,35 +447,31 @@
 rn The HTTP 
-status code
+request
 .%0A     */%0A  
@@ -483,25 +483,34 @@
 lic 
-int getStatusCode
+HttpRequest getHttpRequest
 () %7B
@@ -530,30 +530,23 @@
 rn this.
-httpStatusCode
+request
 ;%0A    %7D%0A
@@ -579,35 +579,156 @@
 TTP 
-status code for the
+request.%0A     *%0A     * @param request The HTTP request.%0A     */%0A    public void setHttpRequest(HttpRequest request) %7B%0A        this.request =
  request
 .%0A  
@@ -727,190 +727,368 @@
 uest
-.
+;
 %0A    
- * %0A     * @param httpStatusCode
+%7D%0A%0A    /**%0A     * Gets the HTTP response.%0A     *%0A     * @return The HTTP response.%0A     */%0A    public HttpResponse getHttpResponse() %7B
 %0A     
-*
    
- 
+return this.response;%0A
     
+%7D%0A%0A
     
-The HTTP status code.%0A     */%0A    public void setStatusCode(int httpStatusCode) %7B%0A        this.httpStatusCode = httpStatusCod
+/**%0A     * Sets the HTTP response.%0A     *%0A     * @param request The HTTP response.%0A     */%0A    public void setHttpResponse(HttpResponse request) %7B%0A        this.response = respons
 e;%0A 
@@ -1105,32 +1105,22 @@
 private 
-String requestId
+T body
 ;%0A%0A    /
@@ -1140,32 +1140,29 @@
 s the re
-quest identifier
+sponse object
 .%0A     *
@@ -1184,32 +1184,29 @@
 n The re
-quest identifier
+sponse object
 .%0A     *
@@ -1222,27 +1222,17 @@
 lic 
-String getRequestId
+T getBody
 () %7B
@@ -1252,25 +1252,20 @@
 rn this.
-requestId
+body
 ;%0A    %7D%0A
@@ -1291,32 +1291,29 @@
 s the re
-quest identifier
+sponse object
 .%0A     *
@@ -1332,151 +1332,100 @@
 ram 
-requestId%0A     *            The request identifier.%0A     */%0A    public void setRequestId(String requestId) %7B%0A        this.requestId = requestId
+body The response object.%0A     */%0A    public void setBody(T body) %7B%0A        this.body = body
 ;%0A  

Align HttpOperationResponse with C#