提交 40074966 编写于 作者: J Juergen Hoeller

Polishing

上级 64a8dfbd
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -243,6 +243,7 @@ public class MethodInvocationProceedingJoinPoint implements ProceedingJoinPoint,
private String toString(boolean includeModifier, boolean includeReturnTypeAndArgs,
boolean useLongReturnAndArgumentTypeName, boolean useLongTypeName) {
StringBuilder sb = new StringBuilder();
if (includeModifier) {
sb.append(Modifier.toString(getModifiers()));
......@@ -262,8 +263,9 @@ public class MethodInvocationProceedingJoinPoint implements ProceedingJoinPoint,
return sb.toString();
}
private void appendTypes(StringBuilder sb, Class<?>[] types,
boolean includeArgs, boolean useLongReturnAndArgumentTypeName) {
private void appendTypes(StringBuilder sb, Class<?>[] types, boolean includeArgs,
boolean useLongReturnAndArgumentTypeName) {
if (includeArgs) {
for (int size = types.length, i = 0; i < size; i++) {
appendType(sb, types[i], useLongReturnAndArgumentTypeName);
......
......@@ -26,21 +26,22 @@ import org.springframework.util.Assert;
/**
* A controller method return value type for asynchronous request processing
* where one or more objects are written to the response. While
* {@link org.springframework.web.context.request.async.DeferredResult DeferredResult}
* where one or more objects are written to the response.
*
* <p>While {@link org.springframework.web.context.request.async.DeferredResult}
* is used to produce a single result, a {@code ResponseBodyEmitter} can be used
* to send multiple objects where each object is written with a compatible
* {@link org.springframework.http.converter.HttpMessageConverter HttpMessageConverter}.
* {@link org.springframework.http.converter.HttpMessageConverter}.
*
* <p>Supported as a return type on its own as well as within a
* {@link org.springframework.http.ResponseEntity ResponseEntity}.
* {@link org.springframework.http.ResponseEntity}.
*
* <pre>
* &#064;RequestMapping(value="/stream", method=RequestMethod.GET)
* public ResponseBodyEmitter handle() {
* ResponseBodyEmitter emitter = new ResponseBodyEmitter();
* // Pass the emitter to another component...
* return emitter;
* ResponseBodyEmitter emitter = new ResponseBodyEmitter();
* // Pass the emitter to another component...
* return emitter;
* }
*
* // in another thread
......@@ -101,15 +102,6 @@ public class ResponseBodyEmitter {
}
/**
* Invoked after the response is updated with the status code and headers,
* if the ResponseBodyEmitter is wrapped in a ResponseEntity, but before the
* response is committed, i.e. before the response body has been written to.
* <p>The default implementation is empty.
*/
protected void extendResponse(ServerHttpResponse outputMessage) {
}
synchronized void initialize(Handler handler) throws IOException {
this.handler = handler;
......@@ -132,6 +124,15 @@ public class ResponseBodyEmitter {
}
}
/**
* Invoked after the response is updated with the status code and headers,
* if the ResponseBodyEmitter is wrapped in a ResponseEntity, but before the
* response is committed, i.e. before the response body has been written to.
* <p>The default implementation is empty.
*/
protected void extendResponse(ServerHttpResponse outputMessage) {
}
/**
* Write the given object to the response.
* <p>If any exception occurs a dispatch is made back to the app server where
......@@ -264,11 +265,11 @@ public class ResponseBodyEmitter {
}
}
private class DefaultCallback implements Runnable {
private Runnable delegate;
public void setDelegate(Runnable delegate) {
this.delegate = delegate;
}
......
......@@ -169,9 +169,9 @@ public class SseEmitter extends ResponseBodyEmitter {
/**
* Return one or more Object-MediaType pairs to write via
* {@link #send(Object, MediaType)}.
* @since 4.2.3
*/
Set<DataWithMediaType> build();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册