01: /*
02: * Copyright 2000,2005 wingS development team.
03: *
04: * This file is part of wingS (http://wingsframework.org).
05: *
06: * wingS is free software; you can redistribute it and/or modify
07: * it under the terms of the GNU Lesser General Public License
08: * as published by the Free Software Foundation; either version 2.1
09: * of the License, or (at your option) any later version.
10: *
11: * Please see COPYING for the complete licence.
12: */
13: package org.wings.template;
14:
15: import org.wings.SComponent;
16:
17: /**
18: * Property Manager responsible to handle inline attributes in template layouts for specific component classes.
19: * <p/>
20: * Besides the dyanmic layout managers components can also be layouted inside the {@link org.wings.STemplateLayout}s.
21: * In your template files you can use the <p/><code><object name="aConstraintName"></object></code><p/>
22: * to place specific components inside this template i.e. like <code>panel.add(new SLabel("a label"), "aConstraintName"));</code>.
23: * <p/>
24: * The template layout mechanism is able to inline set properties of the arranged component inside the template.
25: * This feature can be very useful if i.e. a web developer is soley responsible for the whole application Look & Feel.
26: * Depending on the type of the arranged component he can modify different visual properties (i.e. background color,
27: * display text, etc.) just by modifying the template file.
28: * I.e. let's assume you are placing the mentioned label oject in you template file. The the web designer can
29: * overwrite the components background, display text, etc. by modifying his object inclusion tag to
30: * <p/><code><object name="aConstraintName" background="#ff0000" text="new text"></object></code><p/>
31: *
32: * @author <a href="mailto:haaf@mercatis.de">Armin Haaf</a>
33: */
34: public interface PropertyManager {
35:
36: /**
37: * Describe <code>setProperty</code> method here.
38: *
39: * @param comp a <code>SComponent</code> value
40: * @param name a <code>String</code> value
41: * @param value a <code>String</code> value
42: */
43: public void setProperty(SComponent comp, String name, String value);
44:
45: /**
46: * Describe <code>getSupportedClasses</code> method here.
47: *
48: * @return a <code>Class[]</code> value
49: */
50: public Class[] getSupportedClasses();
51: }
|