01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. 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,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */package org.apache.cxf.tools.java2wsdl.generator.wsdl11.annotator;
19:
20: import org.apache.cxf.tools.common.model.Annotator;
21: import org.apache.cxf.tools.common.model.JavaAnnotatable;
22: import org.apache.cxf.tools.common.model.JavaAnnotation;
23: import org.apache.cxf.tools.common.model.JavaField;
24:
25: public class WrapperBeanFieldAnnotator implements Annotator {
26:
27: public void annotate(final JavaAnnotatable field) {
28: JavaField jField = null;
29: if (field instanceof JavaField) {
30: jField = (JavaField) field;
31: } else {
32: throw new RuntimeException(
33: "WrapperBeanFiledAnnotator expect JavaField as input");
34: }
35: String rawName = jField.getRawName();
36: JavaAnnotation xmlElementAnnotation = new JavaAnnotation(
37: "XmlElement");
38:
39: xmlElementAnnotation.addArgument("name", rawName);
40: xmlElementAnnotation.addArgIgnoreEmtpy("namespace", jField
41: .getTargetNamespace(), "\"");
42:
43: jField.setAnnotation(xmlElementAnnotation);
44: jField.getOwner().addImport(
45: "javax.xml.bind.annotation.XmlElement");
46: }
47: }
|