|
1 /* |
|
2 * reserved comment block |
|
3 * DO NOT REMOVE OR ALTER! |
|
4 */ |
|
5 /* |
|
6 * Copyright 2003-2004 The Apache Software Foundation. |
|
7 * |
|
8 * Licensed under the Apache License, Version 2.0 (the "License"); |
|
9 * you may not use this file except in compliance with the License. |
|
10 * You may obtain a copy of the License at |
|
11 * |
|
12 * http://www.apache.org/licenses/LICENSE-2.0 |
|
13 * |
|
14 * Unless required by applicable law or agreed to in writing, software |
|
15 * distributed under the License is distributed on an "AS IS" BASIS, |
|
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
17 * See the License for the specific language governing permissions and |
|
18 * limitations under the License. |
|
19 */ |
|
20 /* |
|
21 * $Id: Version.java,v 1.1.2.1 2005/08/01 02:11:19 jeffsuttor Exp $ |
|
22 */ |
|
23 package com.sun.org.apache.xalan.internal; |
|
24 |
|
25 /** |
|
26 * Administrative class to keep track of the version number of |
|
27 * the Xalan release. |
|
28 * <P>This class implements the upcoming standard of having |
|
29 * org.apache.project-name.Version.getVersion() be a standard way |
|
30 * to get version information. This class will replace the older |
|
31 * com.sun.org.apache.xalan.internal.processor.Version class.</P> |
|
32 * <P>See also: com/sun/org/apache/xalan/internal/res/XSLTInfo.properties for |
|
33 * information about the version of the XSLT spec we support.</P> |
|
34 * @xsl.usage general |
|
35 */ |
|
36 public class Version |
|
37 { |
|
38 |
|
39 /** |
|
40 * Get the basic version string for the current Xalan release. |
|
41 * Version String formatted like |
|
42 * <CODE>"<B>Xalan</B> <B>Java</B> v.r[.dd| <B>D</B>nn]"</CODE>. |
|
43 * |
|
44 * Futurework: have this read version info from jar manifest. |
|
45 * |
|
46 * @return String denoting our current version |
|
47 */ |
|
48 public static String getVersion() |
|
49 { |
|
50 return getProduct()+" "+getImplementationLanguage()+" " |
|
51 +getMajorVersionNum()+"."+getReleaseVersionNum()+"." |
|
52 +( (getDevelopmentVersionNum() > 0) ? |
|
53 ("D"+getDevelopmentVersionNum()) : (""+getMaintenanceVersionNum())); |
|
54 } |
|
55 |
|
56 /** |
|
57 * Print the processor version to the command line. |
|
58 * |
|
59 * @param argv command line arguments, unused. |
|
60 */ |
|
61 public static void _main(String argv[]) |
|
62 { |
|
63 System.out.println(getVersion()); |
|
64 } |
|
65 |
|
66 /** |
|
67 * Name of product: Xalan. |
|
68 */ |
|
69 public static String getProduct() |
|
70 { |
|
71 return "Xalan"; |
|
72 } |
|
73 |
|
74 /** |
|
75 * Implementation Language: Java. |
|
76 */ |
|
77 public static String getImplementationLanguage() |
|
78 { |
|
79 return "Java"; |
|
80 } |
|
81 |
|
82 |
|
83 /** |
|
84 * Major version number. |
|
85 * Version number. This changes only when there is a |
|
86 * significant, externally apparent enhancement from |
|
87 * the previous release. 'n' represents the n'th |
|
88 * version. |
|
89 * |
|
90 * Clients should carefully consider the implications |
|
91 * of new versions as external interfaces and behaviour |
|
92 * may have changed. |
|
93 */ |
|
94 public static int getMajorVersionNum() |
|
95 { |
|
96 return 2; |
|
97 |
|
98 } |
|
99 |
|
100 /** |
|
101 * Release Number. |
|
102 * Release number. This changes when: |
|
103 * - a new set of functionality is to be added, eg, |
|
104 * implementation of a new W3C specification. |
|
105 * - API or behaviour change. |
|
106 * - its designated as a reference release. |
|
107 */ |
|
108 public static int getReleaseVersionNum() |
|
109 { |
|
110 return 7; |
|
111 } |
|
112 |
|
113 /** |
|
114 * Maintenance Drop Number. |
|
115 * Optional identifier used to designate maintenance |
|
116 * drop applied to a specific release and contains |
|
117 * fixes for defects reported. It maintains compatibility |
|
118 * with the release and contains no API changes. |
|
119 * When missing, it designates the final and complete |
|
120 * development drop for a release. |
|
121 */ |
|
122 public static int getMaintenanceVersionNum() |
|
123 { |
|
124 return 0; |
|
125 } |
|
126 |
|
127 /** |
|
128 * Development Drop Number. |
|
129 * Optional identifier designates development drop of |
|
130 * a specific release. D01 is the first development drop |
|
131 * of a new release. |
|
132 * |
|
133 * Development drops are works in progress towards a |
|
134 * compeleted, final release. A specific development drop |
|
135 * may not completely implement all aspects of a new |
|
136 * feature, which may take several development drops to |
|
137 * complete. At the point of the final drop for the |
|
138 * release, the D suffix will be omitted. |
|
139 * |
|
140 * Each 'D' drops can contain functional enhancements as |
|
141 * well as defect fixes. 'D' drops may not be as stable as |
|
142 * the final releases. |
|
143 */ |
|
144 public static int getDevelopmentVersionNum() |
|
145 { |
|
146 try { |
|
147 if ((new String("")).length() == 0) |
|
148 return 0; |
|
149 else |
|
150 return Integer.parseInt(""); |
|
151 } catch (NumberFormatException nfe) { |
|
152 return 0; |
|
153 } |
|
154 } |
|
155 } |