01: // Copyright 2006 The Apache Software Foundation
02: //
03: // Licensed under the Apache License, Version 2.0 (the "License");
04: // you may not use this file except in compliance with the License.
05: // You may obtain a copy of the License at
06: //
07: // http://www.apache.org/licenses/LICENSE-2.0
08: //
09: // Unless required by applicable law or agreed to in writing, software
10: // distributed under the License is distributed on an "AS IS" BASIS,
11: // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12: // See the License for the specific language governing permissions and
13: // limitations under the License.
14:
15: package org.apache.tapestry.model;
16:
17: import java.util.List;
18:
19: import org.apache.tapestry.annotations.Component;
20: import org.apache.tapestry.ioc.Locatable;
21:
22: /**
23: * The model for a component embedded within another component, as defined by the
24: * {@link org.apache.tapestry.annotations.Component} annotation.
25: */
26: public interface EmbeddedComponentModel extends Locatable {
27: /** A unique id for the embedded component. */
28: String getId();
29:
30: /** The type of the component, which may be blank. */
31: String getComponentType();
32:
33: /**
34: * The class name of the component, as derived from the field to which the {@link Component}
35: * annotation is applied. This value is only used when the componentType property is blank.
36: */
37: String getComponentClassName();
38:
39: /** A sorted list of the names of all bound parameters. */
40: List<String> getParameterNames();
41:
42: /** The value for each parameter, which will be interpreted as a binding expression. */
43: String getParameterValue(String parameterName);
44:
45: /**
46: * Returns the fully qualified class names of all mixins added to this component, sorted
47: * alphabetically.
48: */
49: List<String> getMixinClassNames();
50:
51: }
|