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

java.lang.Object
  extended by kr.co.hit.live.web.mapper.output.impl.AbstractResponseWriter
      extended by kr.co.hit.live.web.mapper.output.impl.DelimeterResponseWriter
All Implemented Interfaces:
ResponseWriter
Direct Known Subclasses:
CsvResponseWriter, TrustFormDelimeterResponseWriter

public class DelimeterResponseWriter
extends AbstractResponseWriter

구분자 방식으로 출력하는 ResponseWriter 구현 클래스이다. Mapping 파일의 아래에 정의된 mapping된 대로 결과를 구분자로 구별하여 HttpServletResponse로 바로 출력한다.

Since:
4.0
Author:
김형도

Field Summary
protected static String DEFAULT_ENCODING
           
protected static String HEADER_DESC_TYPE
           
protected static String HEADER_TYPE
           
 
Fields inherited from class kr.co.hit.live.web.mapper.output.impl.AbstractResponseWriter
DEFAULT_CLIENT_MESSAGE_KEY, LINE_SEPARATOR
 
Constructor Summary
DelimeterResponseWriter(Output output)
           
 
Method Summary
protected  String escapeDelimeter(String data)
           
protected  String getForwardPath()
          출력이 종료된 후 Forward 할 경우 Forward 할 URL 경로를 반환한다.
protected  void writeBody(ValueObjectAssembler voa, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          데이터를 출력하는 메소드이다.
protected  void writeException(Throwable thr, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          오류를 출력한다.
protected  void writeHead(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          전체 출력 작업 중 맨처음에 호출되는 메소드이다.
protected  void writeMessage(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          메시지를 출력한다.
protected  void writeReplacedTable(Table replacedTable, ValueObjectAssembler voa, Writer out, Map<String,Format> formatMap, String rowSep, String colSep)
          table에 정의된 매핑대로 voa에 있는 값들을 Delimeter 방식으로 출력한다.
protected  void writeRow(List<Column> columns, ValueObjectAssembler voa, Writer out, int idx, String rowSep, String colSep, Map<String,Format> formatMap, StringBuilder sb)
          하나의 테이블에 대하여 주어진 Column 리스트에 정의된 매핑 내용대로 idx 번째 열을 delimiter로 구분하여 출력한다.
protected  void writeRow(String[] columnNames, ValueObject writeVO, Writer out, int idx, String rowSep, String colSep, ColumnTypeCaster tc)
          동적 컬럼 확장에서 사용하는 출력 메소드이다.
protected  void writeRowHeader(List<Column> columns, Writer out, int rowCount, String rowSep, String colSep, boolean noheader, boolean useDesc)
          하나의 테이블에 대하여 주어진 Column 리스트에 정의된 매핑 내용대로 컬럼명을 delimiter로 구분하여 출력한다.
protected  void writeRowHeader(String[] columnNames, Writer out, int rowCount, String rowSep, String colSep, boolean noheader)
          동적 컬럼 확장에서 사용된다.
protected  void writeTable(Table table, ValueObjectAssembler voa, Writer out, String rowSep, String colSep, Map<String,Format> formatMap)
          table에 정의된 매핑대로 voa에 있는 값들을 출력한다.
protected  void writeTail(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
          전체 출력 작업 중 마지막에 호출되는 메소드이다.
 
Methods inherited from class kr.co.hit.live.web.mapper.output.impl.AbstractResponseWriter
getOutput, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ENCODING

protected static final String DEFAULT_ENCODING
See Also:
Constant Field Values

HEADER_TYPE

protected static final String HEADER_TYPE
See Also:
Constant Field Values

HEADER_DESC_TYPE

protected static final String HEADER_DESC_TYPE
See Also:
Constant Field Values
Constructor Detail

DelimeterResponseWriter

public DelimeterResponseWriter(Output output)
Method Detail

writeHead

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

Specified by:
writeHead in class AbstractResponseWriter
Throws:
IOException

writeTail

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

Specified by:
writeTail in class AbstractResponseWriter
Throws:
IOException

writeException

protected void writeException(Throwable thr,
                              javax.servlet.http.HttpServletRequest req,
                              javax.servlet.http.HttpServletResponse res)
                       throws IOException
오류를 출력한다.

Specified by:
writeException in class AbstractResponseWriter
Throws:
IOException

writeMessage

protected void writeMessage(javax.servlet.http.HttpServletRequest req,
                            javax.servlet.http.HttpServletResponse res)
                     throws IOException
메시지를 출력한다.

Specified by:
writeMessage in class AbstractResponseWriter
Throws:
IOException

writeBody

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

Specified by:
writeBody in class AbstractResponseWriter
Throws:
IOException

getForwardPath

protected String getForwardPath()
Description copied from class: AbstractResponseWriter
출력이 종료된 후 Forward 할 경우 Forward 할 URL 경로를 반환한다.

Specified by:
getForwardPath in class AbstractResponseWriter
Returns:

writeTable

protected void writeTable(Table table,
                          ValueObjectAssembler voa,
                          Writer out,
                          String rowSep,
                          String colSep,
                          Map<String,Format> formatMap)
                   throws IOException
table에 정의된 매핑대로 voa에 있는 값들을 출력한다.

Parameters:
table - 출력 매핑이 정의된 Table 객체
voa - 출력할 값을 담은 ValueObjectAssembler 객체
out - 출력할 PrintWriter 객체
rowSep - 열 구분자
colSep - 행 구분자
formatMap - format될 컬럼에서 사용할 format 객체들
Throws:
IOException

writeReplacedTable

protected void writeReplacedTable(Table replacedTable,
                                  ValueObjectAssembler voa,
                                  Writer out,
                                  Map<String,Format> formatMap,
                                  String rowSep,
                                  String colSep)
                           throws IOException
table에 정의된 매핑대로 voa에 있는 값들을 Delimeter 방식으로 출력한다.

Parameters:
table - 출력 매핑이 정의된 Table 객체로 ${repeat_ref}가 치환되어진 Table 객체이어야한다.
voa - 출력할 값을 담은 ValueObjectAssembler 객체
out - 출력할 PrintWriter 객체
rowSep - 열 구분자
colSep - 행 구분자
repeatRef - 매핑에 정의된 내용 중 ${repeat_ref}를 치환할 문자
formatMap - format될 컬럼에서 사용할 format 객체들
Throws:
IOException

writeRowHeader

protected void writeRowHeader(List<Column> columns,
                              Writer out,
                              int rowCount,
                              String rowSep,
                              String colSep,
                              boolean noheader,
                              boolean useDesc)
                       throws IOException
하나의 테이블에 대하여 주어진 Column 리스트에 정의된 매핑 내용대로 컬럼명을 delimiter로 구분하여 출력한다.

Parameters:
columns - 출력할 Column 들의 리스트
out - 출력할 PrintWriter
rowSep - 열 구분자
colSep - 행 구분자
Throws:
IOException

writeRowHeader

protected void writeRowHeader(String[] columnNames,
                              Writer out,
                              int rowCount,
                              String rowSep,
                              String colSep,
                              boolean noheader)
                       throws IOException
동적 컬럼 확장에서 사용된다. 하나의 테이블에 대하여 주어진 Column 명 배열의 내용대로 컬럼명을 delimiter로 구분하여 출력한다.

Parameters:
columns - 출력할 Column 들의 리스트
out - 출력할 PrintWriter
rowSep - 열 구분자
colSep - 행 구분자
Throws:
IOException

writeRow

protected void writeRow(List<Column> columns,
                        ValueObjectAssembler voa,
                        Writer out,
                        int idx,
                        String rowSep,
                        String colSep,
                        Map<String,Format> formatMap,
                        StringBuilder sb)
                 throws IOException
하나의 테이블에 대하여 주어진 Column 리스트에 정의된 매핑 내용대로 idx 번째 열을 delimiter로 구분하여 출력한다.

Parameters:
columns - 출력할 Column 들의 리스트
voa - 출력할 값이 있는 ValueObjectAssemlber
out - 출력할 PrintWriter
idx - 출력할 열의 인덱스
rowSep - 열 구분자
colSep - 행 구분자
formatMap - format될 컬럼에서 사용할 format 객체들
sb - 디폴트 값을 사용한 컬럼명을 담아오기 위한 StringBuffer
Throws:
IOException

writeRow

protected void writeRow(String[] columnNames,
                        ValueObject writeVO,
                        Writer out,
                        int idx,
                        String rowSep,
                        String colSep,
                        ColumnTypeCaster tc)
                 throws IOException
동적 컬럼 확장에서 사용하는 출력 메소드이다. 출력 대상 ValueObject와 출력 컬럼 목록을 받아서 이를 delimeter 방식으로 출력한다.

Parameters:
columnNames - 출력 대상 컬럼
writeVO - 출력할 값이 있는 ValueObject
out - 출력할 PrintWriter
idx - 출력할 열의 인덱스
rowSep - 열 구분자
colSep - 행 구분자
tc - 타입 변환을 위한 ColumnTypeCaster이다. 전체 컬럼이 동일하게 적용된다.
Throws:
IOException

escapeDelimeter

protected String escapeDelimeter(String data)


Copyright © 2014. All Rights Reserved.