01: /**
02: * L2FProd.com Common Components 7.3 License.
03: *
04: * Copyright 2005-2007 L2FProd.com
05: *
06: * Licensed under the Apache License, Version 2.0 (the "License");
07: * you may not use this file except in compliance with the License.
08: * You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */package com.l2fprod.common.propertysheet;
18:
19: import java.beans.PropertyChangeListener;
20: import java.io.Serializable;
21:
22: /**
23: * Property. <br>Component of a PropertySheet, based on the
24: * java.beans.PropertyDescriptor for easy wrapping of beans in PropertySheet.
25: */
26: public interface Property extends Serializable, Cloneable {
27:
28: public String getName();
29:
30: public String getDisplayName();
31:
32: public String getShortDescription();
33:
34: public Class getType();
35:
36: public Object getValue();
37:
38: public void setValue(Object value);
39:
40: public boolean isEditable();
41:
42: public String getCategory();
43:
44: public void readFromObject(Object object);
45:
46: public void writeToObject(Object object);
47:
48: public void addPropertyChangeListener(
49: PropertyChangeListener listener);
50:
51: public void removePropertyChangeListener(
52: PropertyChangeListener listener);
53:
54: public Object clone();
55:
56: public Property getParentProperty();
57:
58: public Property[] getSubProperties();
59: }
|