View Javadoc

1   package org.weda.property;
2   
3   import java.util.List;
4   
5   /**Цель: хранение информации о свойстве объекта
6    *
7    * @author Mikhail Titov
8    */
9   public interface PropertyDescriptor {
10      public final static String OBJECT_PROPERTY_MIME_TYPE = "object/property";
11      /**Метод возвращает список ограничений наложенных на свойство.
12       */
13      public List<Constraint> getConstraints();
14      /**Метод осуществлеят проверку на соотвествие значения каждому ограничению.
15       * @Throws org.weda.property.ConstraintException если значение 
16       * не соотвествуетпри хотя бы одному ограничению.
17       * @see #getConstraints()
18       */
19      public void check(Object value) throws ConstraintException;
20      /**Метод возвращает класс объекта владеющего данным свойством.
21       */
22      public Class getObjectClass();
23      /**Метод возвращает название свойства для отображения в пользовательском 
24       * интерфейсе.
25       */
26      public String getDisplayName();
27      /**Метод вернет <code>true</code> если свойство {@link #getDisplayName()}
28       * установлено. Появление данного метода связанно с тем что если
29       * свойство <code>displayName</code> не установлено тогда в качестве его 
30       * значения возвращается значение свойства <code>name</code>
31       * ({@link #getName()})
32       */
33      public boolean hasDisplayName();
34      /**Метод возвращет имя свойства.
35       */
36      public String getName();    
37      /**Метод возвращает тип свойства.
38       */
39      public Class getPropertyClass();
40      /**Метод возвращает родительское свойство. Родительское в разрезе 
41       * наследования значений свойств.
42       */
43      public PropertyDescriptor getParent();
44      /**Метод возвращает шаблон который используется для преобразования значения
45       * свойства к строке и наоборот.
46       */
47      public String getPattern();
48      /**Метод возвращает mime тип свойства
49       */
50      public String getMimeType();
51      /**Метод вернет <code>true</code> если в качестве значения для данного
52       * свойства может устанавливаться одно из списка возвращаемого методом
53       * {@link #getPosibleValues()}
54       *@see #getPosibleValues()
55       *@see #isPosibleValuesAliased()
56       *@see #getPosibleValueByValue(Object)
57       */
58  //    public boolean hasPosibleValues();
59      /**Метод возвращает список возможных значений свойства. Метод вернет
60       * <code>null</code> если список не определен. Метод возвращает список
61       * который нельзя изменять.
62       *@see #hasPosibleValues()
63       *@see #isPosibleValuesAliased()
64       *@see #getPosibleValueByValue(Object)
65       */
66  //    public List<PosibleValue> getPosibleValues();
67      /**Метод вернет <code>true</code> если метод {@link #getPosibleValues()}
68       * возвращает именнованные значения.
69       *@see PosibleValue
70       *@see #hasPosibleValues()
71       *@see #getPosibleValues()
72       *@see #getPosibleValueByValue(Object)
73       */
74  //    public boolean isPosibleValuesAliased();
75      /**Метод возвращает возможное значение по действительному значению.
76       *@see #hasPosibleValues()
77       *@see #getPosibleValues()
78       *@see #isPosibleValuesAliased()
79       */
80  //    public PosibleValue getPosibleValueByValue(Object value);
81  }