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;
19:
20: import java.io.File;
21:
22: import org.apache.cxf.Bus;
23: import org.apache.cxf.service.model.ServiceInfo;
24:
25: public abstract class AbstractGenerator<T> {
26: private ServiceInfo service;
27: private boolean allowImports;
28: private File outputdir;
29: private Bus bus;
30:
31: public void setOutputBase(File out) {
32: this .outputdir = out;
33: }
34:
35: public File getOutputBase() {
36: return this .outputdir;
37: }
38:
39: public void setServiceModel(ServiceInfo s) {
40: this .service = s;
41: }
42:
43: public ServiceInfo getServiceModel() {
44: return this .service;
45: }
46:
47: public Bus getBus() {
48: return bus;
49: }
50:
51: public void setBus(Bus b) {
52: bus = b;
53: }
54:
55: public void setAllowImports(boolean b) {
56: allowImports = b;
57: }
58:
59: public boolean allowImports() {
60: return allowImports;
61: }
62:
63: public abstract T generate(File file);
64:
65: protected File createOutputDir(File file) {
66: String parent = file.getParent();
67: if (parent == null) {
68: return null;
69: }
70: File parentDir = new File(parent);
71: if (parentDir.isDirectory() && !parentDir.exists()) {
72: parentDir.mkdirs();
73: }
74: return parentDir;
75: }
76: }
|