/* * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package egovframework.rte.itl.integration.message.typed; import java.util.Calendar; import java.util.HashMap; import egovframework.rte.itl.integration.EgovIntegrationMessageHeader; import egovframework.rte.itl.integration.type.PrimitiveType; import egovframework.rte.itl.integration.type.RecordType; import egovframework.rte.itl.integration.type.Type; /** * 전자정부 연계 서비스의 표준 MessageHeader 구현 클래스 * <p> * <b>NOTE:</b> 전자정부 연계 서비스의 표준 MessageHeader * interface를 구현한 MessageHeader class이다. * @author 실행환경 개발팀 심상호 * @since 2009.06.01 * @version 1.0 * @see <pre> * == 개정이력(Modification Information) == * * 수정일 수정자 수정내용 * ------- -------- --------------------------- * 2009.06.01 심상호 최초 생성 * * </pre> */ public final class TypedMessageHeader extends TypedMap implements EgovIntegrationMessageHeader { /** 연계 Id */ public static final String INTEGRATION_ID = "__integrationId__"; /** 제공 기관 Id */ public static final String PROVIDER_ORGANIZATION_ID = "__providerOrganizationId__"; /** 제공 시스템 Id */ public static final String PROVIDER_SYSTEM_ID = "__providerSystemId__"; /** 제공 서비스 Id */ public static final String PROVIDER_SERVICE_ID = "__providerServiceId__"; /** 요청 기관 Id */ public static final String CONSUMER_ORGANIZATION_ID = "__consumerOrganizationId__"; /** 요청 시스템 Id */ public static final String CONSUMER_SYSTEM_ID = "_consumerSystemId__"; /** 요청 송신 시각 */ public static final String REQUEST_SEND_TIME = "__requestSendTime__"; /** 요청 수신 시각 */ public static final String REQUEST_RECEIVE_TIME = "__requestReceiveTime__"; /** 응답 송신 시각 */ public static final String RESPONSE_SEND_TIME = "__responseSendTime__"; /** 응답 수신 시각 */ public static final String RESPONSE_RECEIVE_TIME = "__responseReceiveTime__"; /** 결과 Code */ public static final String RESULT_CODE = "__resultCode__"; /** 결과 메시지 */ public static final String RESULT_MESSAGE = "__resultMessage__"; /** TYPE_ID */ public static final String TYPE_ID = "__message_header_type__"; /** TYPE_NAME */ public static final String TYPE_NAME = "$$Egov$$TypedMessageHeaderType"; /** TYPE */ @SuppressWarnings("serial") public static final RecordType TYPE = new RecordType(TYPE_ID, TYPE_NAME, new HashMap<String, Type>() { { put(INTEGRATION_ID, PrimitiveType.STRING); put(PROVIDER_ORGANIZATION_ID, PrimitiveType.STRING); put(PROVIDER_SYSTEM_ID, PrimitiveType.STRING); put(PROVIDER_SERVICE_ID, PrimitiveType.STRING); put(CONSUMER_ORGANIZATION_ID, PrimitiveType.STRING); put(CONSUMER_SYSTEM_ID, PrimitiveType.STRING); put(REQUEST_SEND_TIME, PrimitiveType.CALENDAR); put(REQUEST_RECEIVE_TIME, PrimitiveType.CALENDAR); put(RESPONSE_SEND_TIME, PrimitiveType.CALENDAR); put(RESPONSE_SEND_TIME, PrimitiveType.CALENDAR); put(RESULT_CODE, PrimitiveType.STRING); put(RESULT_MESSAGE, PrimitiveType.STRING); } }); /** * Default Constructor */ public TypedMessageHeader() { super(TYPE); } /** * Constructor * @param integrationId * 연계 ID * @param providerOrganizationId * 제공 기관 ID * @param providerSystemId * 제공 시스템 ID * @param providerServiceId * 제공 서비스 ID * @param consumerOrganizationId * 요청 기관 ID * @param consumerSystemId * 요청 시스템 ID * @param requestSendTime * 요청 송신 시각 * @param requestReceiveTime * 요청 수신 시각 * @param responseSendTime * 응답 송신 시각 * @param responseReceiveTime * 응답 수신 시각 * @param resultCode * 결과 코드 * @param resultMessage * 결과 메시지 */ public TypedMessageHeader(String integrationId, String providerOrganizationId, String providerSystemId, String providerServiceId, String consumerOrganizationId, String consumerSystemId, Calendar requestSendTime, Calendar requestReceiveTime, Calendar responseSendTime, Calendar responseReceiveTime, ResultCode resultCode, String resultMessage) { super(TYPE); setIntegrationId(integrationId); setProviderOrganizationId(providerOrganizationId); setProviderSystemId(providerSystemId); setProviderServiceId(providerServiceId); setConsumerOrganizationId(consumerOrganizationId); setConsumerSystemId(consumerSystemId); setRequestSendTime(requestSendTime); setRequestReceiveTime(requestReceiveTime); setResponseSendTime(responseSendTime); setResponseReceiveTime(responseReceiveTime); setResultCode(resultCode); setResultMessage(resultMessage); } public String getConsumerOrganizationId() { return (String) super.get(CONSUMER_ORGANIZATION_ID); } public String getConsumerSystemId() { return (String) super.get(CONSUMER_SYSTEM_ID); } public String getIntegrationId() { return (String) super.get(INTEGRATION_ID); } public String getProviderOrganizationId() { return (String) super.get(PROVIDER_ORGANIZATION_ID); } public String getProviderServiceId() { return (String) super.get(PROVIDER_SERVICE_ID); } public String getProviderSystemId() { return (String) super.get(PROVIDER_SYSTEM_ID); } public Calendar getRequestReceiveTime() { return (Calendar) super.get(REQUEST_RECEIVE_TIME); } public Calendar getRequestSendTime() { return (Calendar) super.get(REQUEST_SEND_TIME); } public Calendar getResponseReceiveTime() { return (Calendar) super.get(RESPONSE_RECEIVE_TIME); } public Calendar getResponseSendTime() { return (Calendar) super.get(RESPONSE_SEND_TIME); } public ResultCode getResultCode() { return ResultCode.getCode((String) super.get(RESULT_CODE)); } public String getResultMessage() { return (String) super.get(RESULT_MESSAGE); } public void setConsumerOrganizationId(String consumerOrganizationId) { super.put(CONSUMER_ORGANIZATION_ID, consumerOrganizationId); } public void setConsumerSystemId(String consumerSystemId) { super.put(CONSUMER_SYSTEM_ID, consumerSystemId); } public void setIntegrationId(String integrationId) { super.put(INTEGRATION_ID, integrationId); } public void setProviderOrganizationId(String providerOrganizationId) { super.put(PROVIDER_ORGANIZATION_ID, providerOrganizationId); } public void setProviderServiceId(String providerServiceId) { super.put(PROVIDER_SERVICE_ID, providerServiceId); } public void setProviderSystemId(String providerSystemId) { super.put(PROVIDER_SYSTEM_ID, providerSystemId); } public void setRequestReceiveTime(Calendar requestReceiveTime) { super.put(REQUEST_RECEIVE_TIME, requestReceiveTime); } public void setRequestSendTime(Calendar requestSendTime) { super.put(REQUEST_SEND_TIME, requestSendTime); } public void setResponseReceiveTime(Calendar responseReceiveTime) { super.put(RESPONSE_RECEIVE_TIME, responseReceiveTime); } public void setResponseSendTime(Calendar responseSendTime) { super.put(RESPONSE_SEND_TIME, responseSendTime); } public void setResultCode(ResultCode resultCode) { super.put(RESULT_CODE, resultCode.getValue()); } public void setResultMessage(String resultMessage) { super.put(RESULT_MESSAGE, resultMessage); } }