01: /*
02: * Copyright 2006-2007 The Scriptella Project Team.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package scriptella.spi;
17:
18: /**
19: * An abstract base for Scriptella drivers.
20: * <p><p>Subclassing is more safe than directly implementing {@link ScriptellaDriver} interface.
21: *
22: * @author Fyodor Kupolov
23: * @version 1.0
24: */
25: public abstract class AbstractScriptellaDriver implements
26: ScriptellaDriver {
27:
28: public String toString() {
29: return getClass().getPackage().getName();
30: }
31:
32: /**
33: * Helper method which returns an actual version of Scriptella used at runtime.
34: *
35: * @return project version, e.g. 1.0, or null if package info is absent.
36: */
37: public static String getScriptellaVersion() {
38: Package p = AbstractScriptellaDriver.class.getPackage();
39: return p == null ? null : p.getImplementationVersion();
40: }
41:
42: /**
43: * Helper method which returns an actual product title of Scriptella used at runtime.
44: *
45: * @return project title, e.g. Scriptella ETL, or null if package info is absent.
46: */
47: public static String getScriptellaTitle() {
48: Package p = AbstractScriptellaDriver.class.getPackage();
49: return p == null ? null : p.getSpecificationTitle();
50: }
51:
52: }
|