kr.co.hit.live.web.mapper.output.impl
Class AbstractResponseWriter

java.lang.Object
  extended by kr.co.hit.live.web.mapper.output.impl.AbstractResponseWriter
All Implemented Interfaces:
ResponseWriter
Direct Known Subclasses:
BinaryResponseWriter, DelimeterResponseWriter, ExcelResponseWriter, ForwardResponseWriter, JsonResponseWriter, PropertyListResponseWriter, TextResponseWriter, XFrameWebFileControlResponseWriter, XmlResponseWriter

public abstract class AbstractResponseWriter
extends Object
implements ResponseWriter

ResponseWriter의 구현을 일반화한 Abstract 클래스이다. ResponseWriter의 write() 메소드를 아래와 같이 구현하였다.

        public String write(ValueObjectAssembler voa, Throwable thr,
                                HttpServletRequest req, HttpServletResponse res)
                throws IOException {
        
                writeHead(req, res);
 
                if ( thr == null ) { // 정상처리
                        writeBody(voa, req, res); // 결과 출력

                        writeMessage(req, res); // 정상 처리 메시지 출력
                } else { // 오류 처리
                        writeException(thr, req, res);
                }
 
                writeTail(req, res);
 
                return getForwardPath();
        }
 

Since:
4.0
Author:
김형도

Field Summary
protected static String DEFAULT_CLIENT_MESSAGE_KEY
          디폴트 클라이언트 메시지를 가져오기 위한 Key
protected static String LINE_SEPARATOR
           
 
Constructor Summary
AbstractResponseWriter(Output output)
           
 
Method Summary
protected abstract  String getForwardPath()
          출력이 종료된 후 Forward 할 경우 Forward 할 URL 경로를 반환한다.
protected  Output getOutput()
           
 String write(ValueObjectAssembler voa, Throwable thr, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          ValueObjectAssembler의 내용을 출력한다.
protected abstract  void writeBody(ValueObjectAssembler voa, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          데이터를 출력하는 메소드이다.
protected abstract  void writeException(Throwable thr, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          오류 상황을 출력하는 메소드이다.
protected abstract  void writeHead(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          전체 출력 작업 중 맨처음에 호출되는 메소드이다.
protected abstract  void writeMessage(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          데이터 출력 후 호출되는 메소드이다.
protected abstract  void writeTail(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          전체 출력 작업 중 마지막에 호출되는 메소드이다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LINE_SEPARATOR

protected static final String LINE_SEPARATOR

DEFAULT_CLIENT_MESSAGE_KEY

protected static final String DEFAULT_CLIENT_MESSAGE_KEY
디폴트 클라이언트 메시지를 가져오기 위한 Key

See Also:
Constant Field Values
Constructor Detail

AbstractResponseWriter

public AbstractResponseWriter(Output output)
Method Detail

write

public String write(ValueObjectAssembler voa,
                    Throwable thr,
                    javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res)
             throws IOException
Description copied from interface: ResponseWriter
ValueObjectAssembler의 내용을 출력한다. 출력후 Forward할 View의 URL을 얻기 위한 Key를 반환한다. Forward 하지 않을 경우에는 null을 반환한다.

Specified by:
write in interface ResponseWriter
Returns:
String Forward URL
Throws:
IOException

getOutput

protected Output getOutput()

writeHead

protected abstract void writeHead(javax.servlet.http.HttpServletRequest req,
                                  javax.servlet.http.HttpServletResponse res)
                           throws IOException
전체 출력 작업 중 맨처음에 호출되는 메소드이다. HttpServletResponse의 charset을 설정하거나, XML 출력의 경우 과 같은 XML 시작 태그를 작성하는 용도로 사용된다.

Parameters:
req -
res -
Throws:
IOException

writeTail

protected abstract void writeTail(javax.servlet.http.HttpServletRequest req,
                                  javax.servlet.http.HttpServletResponse res)
                           throws IOException
전체 출력 작업 중 마지막에 호출되는 메소드이다.

Parameters:
req -
res -
Throws:
IOException

writeBody

protected abstract void writeBody(ValueObjectAssembler voa,
                                  javax.servlet.http.HttpServletRequest req,
                                  javax.servlet.http.HttpServletResponse res)
                           throws IOException
데이터를 출력하는 메소드이다.

Parameters:
voa -
req -
res -
Throws:
IOException

writeException

protected abstract void writeException(Throwable thr,
                                       javax.servlet.http.HttpServletRequest req,
                                       javax.servlet.http.HttpServletResponse res)
                                throws IOException
오류 상황을 출력하는 메소드이다.

Parameters:
tr -
req -
res -
Throws:
IOException

writeMessage

protected abstract void writeMessage(javax.servlet.http.HttpServletRequest req,
                                     javax.servlet.http.HttpServletResponse res)
                              throws IOException
데이터 출력 후 호출되는 메소드이다. 정상 처리 메시지를 출력한다.

Parameters:
req -
res -
Throws:
IOException

getForwardPath

protected abstract String getForwardPath()
출력이 종료된 후 Forward 할 경우 Forward 할 URL 경로를 반환한다.

Returns:


Copyright © 2014. All Rights Reserved.