1 package org.weda.model;
2 import java.util.Collection;
3 import org.weda.action.ActionContainerProvider;
4
5
6 /**Цель: группирование editor-model
7 *
8 * @author Mikhail Titov
9 */
10 public interface EditorModelGroup<T extends EditorModel>
11 extends ActionContainerProvider
12 {
13 public void init() throws EditorModelGroupException;
14 /**Метод устанавливает имя группы.
15 */
16 public void setName(String groupName);
17 /**Метод возвращает имя группы.
18 */
19 public String getName();
20 /**Метод возвращает подель по ее имени.
21 */
22 public T getEditorModel(String name)
23 throws EditorModelGroupException;
24 /**Метод возвращает все модели редактирования находящиеся в группе.
25 */
26 public Collection<T> getEditorModels() throws EditorModelGroupException;
27 /**Метод сохраняет значения для заданной модели в кеше.
28 */
29 public void cacheModelValue(String modelName, Object value);
30 /**Метод удаляет кеш хранящий значение для заданной модели.
31 */
32 public void clearModelValue(String modelName);
33 /**Метод возвращает значение сохраненное в кеше.
34 */
35 public Object getCachedModelValue(String modelName);
36 /**Метод вернет <code>TRUE</code> если значение для указанной
37 * модели данных сохранялось в кеше, иначе <code>FALSE</code>.
38 */
39 public boolean isModelValueCached(String modelName);
40 /**Метод очищает кеш хранящий значения моделей данных.
41 */
42 public void clearModelValues() throws EditorModelException;
43 /**Метод вернет <code>true</code> если установка значений данной группы
44 * повлечет установку значений во множестве объектов. Примером
45 * может быть установка значения для {@link org.weda.store.impl.ObjectSet}
46 */
47 public boolean isMultiLeveledModelValues() throws EditorModelGroupException;
48 }