/* * 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.util.Set; /** * Контест заявителя для поставщика СМЭВ. */ public interface DeclarerContext { /** * Набор имён свойств. */ Set<String> getPropertyNames(); /** * Обязательно ли свойство. */ boolean isRequired(String propertyName); /** * Является ли свойство вложением. */ boolean isEnclosure(String propertyName); /** * Имя типа свойства. */ String getType(String propertyName); /** * Задать значение свойства. */ void setValue(String propertyName, Object value); /** * Добавление вложения. */ void addEnclosure(String propertyName, Enclosure enclosure); /** * Создание заявки из текущего контекста. * * @return идентификатор заявки. */ String declare(); /** * Создание заявки из текущего контекста. * * @param tag метка службы. * @param declarant имя заявителя. * @return идентификатор заявки. */ String declare(String tag, String declarant); /** * Получить значение переменной (свойства или вложения). */ Object getVariable(String name); }