KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > annotations > ComponentClassAnnotationWorker


1 // Copyright 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// 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.annotations;
16
17 import org.apache.hivemind.Location;
18 import org.apache.tapestry.TapestryUtils;
19 import org.apache.tapestry.enhance.EnhancementOperation;
20 import org.apache.tapestry.spec.IComponentSpecification;
21
22 /**
23  * Sets properties of the {@link org.apache.tapestry.spec.IComponentSpecification} based on the
24  * {@link org.apache.tapestry.annotations.ComponentClass} annotation. In addition, marks the
25  * component as deprecated if the {@link java.lang.Deprecated} annotation is present on the class.
26  *
27  * @author Howard Lewis Ship
28  * @since 4.0
29  */

30 public class ComponentClassAnnotationWorker implements ClassAnnotationEnhancementWorker
31 {
32
33     public void performEnhancement(EnhancementOperation op, IComponentSpecification spec,
34             Class JavaDoc baseClass, Location location)
35     {
36         ComponentClass component = (ComponentClass) baseClass.getAnnotation(ComponentClass.class);
37
38         spec.setAllowBody(component.allowBody());
39         spec.setAllowInformalParameters(component.allowInformalParameters());
40         spec.setLocation(location);
41
42         String JavaDoc[] names = TapestryUtils.split(component.reservedParameters());
43         for (String JavaDoc name : names)
44             spec.addReservedParameterName(name);
45
46         if (baseClass.isAnnotationPresent(Deprecated JavaDoc.class))
47             spec.setDeprecated(true);
48     }
49
50 }
51
Popular Tags