01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: *
17: * $Header:$
18: */
19: package org.apache.beehive.netui.compiler.grammar;
20:
21: import org.apache.beehive.netui.compiler.RuntimeVersionChecker;
22: import org.apache.beehive.netui.compiler.AnnotationMemberType;
23: import org.apache.beehive.netui.compiler.FlowControllerInfo;
24: import org.apache.beehive.netui.compiler.Diagnostics;
25: import org.apache.beehive.netui.compiler.typesystem.env.CoreAnnotationProcessorEnv;
26:
27: public class ControllerGrammar extends BaseFlowControllerGrammar {
28: public ControllerGrammar(CoreAnnotationProcessorEnv env,
29: Diagnostics diags, RuntimeVersionChecker rvc,
30: FlowControllerInfo fcInfo) {
31: super (env, diags, null, rvc, fcInfo);
32:
33: addMemberType(LOGIN_REQUIRED_ATTR, new AnnotationMemberType(
34: null, this ));
35: addMemberType(ROLES_ALLOWED_ATTR, new RolesAllowedType(this ));
36: addMemberType(READONLY_ATTR, new AnnotationMemberType(null,
37: this ));
38: addMemberType(STRUTSMERGE_ATTR, new ValidXmlFileType(null,
39: null, this , fcInfo));
40: addMemberType(VALIDATOR_VERSION_ATTR, new AnnotationMemberType(
41: null, this ));
42: addMemberType(VALIDATOR_MERGE_ATTR, new ValidXmlFileType(null,
43: null, this , fcInfo));
44: addMemberType(TILES_DEFINITIONS_CONFIGS_ATTR,
45: new TilesDefinitionsConfigsType(null, this , fcInfo));
46: addMemberType(MULTIPART_HANDLER_ATTR, new AnnotationMemberType(
47: null, this ));
48:
49: addMemberArrayGrammar(SHARED_FLOW_REFS_ATTR,
50: new SharedFlowRefGrammar(env, diags, rvc));
51: addMemberArrayGrammar(FORWARDS_ATTR, new ForwardGrammar(env,
52: diags, null, rvc, fcInfo));
53: addMemberArrayGrammar(CATCHES_ATTR, new CatchGrammar(env,
54: diags, null, rvc, CONTROLLER_TAG_NAME, fcInfo));
55: addMemberArrayGrammar(MESSAGE_BUNDLES_ATTR,
56: new MessageBundleGrammar(env, diags, null, rvc, fcInfo));
57: addMemberArrayGrammar(VALIDATABLE_BEANS_ATTR,
58: new ValidatableBeanGrammar(env, diags, rvc));
59: addMemberArrayGrammar(SIMPLE_ACTIONS_ATTR,
60: new SimpleActionGrammar(env, diags, rvc, fcInfo));
61: }
62:
63: public String[][] getMutuallyExclusiveAttrs() {
64: return null;
65: }
66:
67: public String[][] getRequiredAttrs() {
68: return null;
69: }
70:
71: public String[][] getAttrDependencies() {
72: return null;
73: }
74: }
|