/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * Copyright (c) 2013, MPL CodeInside http://codeinside.ru */ package ru.codeinside.gws.api; import java.io.Serializable; import java.util.Date; /** * Описательный пакет в конверте СМЭВ. */ final public class Packet implements Serializable { /** * Информационная система отправителя. * Обязательное поле. */ public InfoSystem sender; /** * Информационная система получателя. * Обязательное поле. */ public InfoSystem recipient; /** * Информационная система, создавшая заявку. */ public InfoSystem originator; /** * Код типа исполнения. * Обязательное поле. */ public Type typeCode; /** * Статус пакета. * Обязательное поле. */ public Status status; /** * Дата и время формирования пакета. * Обязательное поле. */ public Date date; /** * Тип взаимодействия. * Обязательное поле. */ public String exchangeType; /** * Идентификатор запроса для организации запросов в цепочки. */ public String requestIdRef; /** * Идентификатор первого запроса для организации запросов в цепочки. */ public String originRequestIdRef; /** * Имя услуги. * Заменяет serviceCode начиная с rev120315. */ public String serviceName; /** * Код услуги в информационной системе поставщика. */ public String serviceCode; /** * Номер дела. */ public String caseNumber; /** * Сообщение для тестирования. */ public String testMsg; /** * ОКТМО (идентификатор муниципалитета). */ public String oktmo; @Override public String toString() { return "{" + "sender=" + sender + ", recipient=" + recipient + ", originator=" + originator + ", typeCode=" + typeCode + ", status=" + status + ", date=" + date + ", exchangeType='" + exchangeType + '\'' + ", requestIdRef='" + requestIdRef + '\'' + ", originRequestIdRef='" + originRequestIdRef + '\'' + (serviceName == null ? "" : ", serviceName='" + serviceName + "\'") + (serviceCode == null ? "" : ", serviceCode='" + serviceCode + "\'") + (caseNumber == null ? "" : ", caseNumber='" + caseNumber + "\'") + (testMsg == null ? "" : ", testMsg='" + testMsg + "\'") + (oktmo == null ? "" : ", oktmo='" + oktmo + "\'") + '}'; } public enum Type { /** * Оказание государственных услуг. */ SERVICE("GSRV"), /** * Исполнение государственных функций. */ EXECUTION("GFNC"), /** * Другие цели. */ OTHER("OTHR"); private String name; Type(String name) { this.name = name; } public String getName() { return name; } } public enum Status { /** * Запрос */ REQUEST, /** * Результат */ RESULT, /** * Мотивированный отказ */ REJECT, /** * Ошибка при ФЛК */ INVALID, /** * Сообщение квиток о приеме */ ACCEPT, /** * Запрос данных/результатов */ PING, /** * В обработке */ PROCESS, /** * Уведомление об ошибке */ NOTIFY, /** * Технический сбой */ FAILURE, /** * Отзыв заявления */ CANCEL, /** * Возврат состояния */ STATE, /** * Пакетный режим */ PACKET } }