/* * 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.gses.activiti.forms.api.definitions; import org.activiti.engine.delegate.Expression; import java.io.Serializable; import java.util.Map; /** * Узел дерева внутри формы. */ public interface PropertyNode extends Serializable { /** * @return узел-владелец, либо null */ PropertyNode getOwner(); String getId(); PropertyType getPropertyType(); // пересекается с типом реализации String getUnderline(); String getTip(); NullAction getNullAction(); /** * Читается ли значение ПЕРЕМЕННОЙ связанной со свойством * из маршрута в значение свойства, либо используется значние по умолчанию. * Отличается от визуального свойства {@link org.activiti.engine.form.FormProperty#isReadable()}! */ boolean isVarReadable(); /** * Записывается ли значение ПЕРЕМЕННОЙ связанной со свойством в маршрут. * Отличается от визуального свойства {@link org.activiti.engine.form.FormProperty#isWritable()}! */ boolean isVarWritable(); VariableType getVariableType(); /** * @return является ли поле изменяемым. */ boolean isFieldWritable(); String getName(); boolean isFieldReadable(); boolean isFieldRequired(); String getVariableName(); Expression getVariableExpression(); Expression getDefaultExpression(); /** * @return шаблон. Трактовка звисит от типа свойства. */ String getPattern(); /** * @return карта дополнительных параметров. Трактовка зависит от типа свойства. */ Map<String, String> getParams(); /** * Видимость узла после переключения на форме * @return видимость */ boolean isVisible(); /** * Задать динамическую видимость узла * * @param visible видимость */ void setVisible(boolean visible); }