/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the  "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/*
 * $Id: Version.src 1225426 2011-12-29 04:13:08Z mrglavas $
 */
package org.apache.xalan;

Administrative class to keep track of the version number of the Xalan release.

This class implements the upcoming standard of having org.apache.project-name.Version.getVersion() be a standard way to get version information. This class will replace the older org.apache.xalan.processor.Version class.

See also: org/apache/xalan/res/XSLTInfo.properties for information about the version of the XSLT spec we support.

@xsl.usagegeneral
/** * Administrative class to keep track of the version number of * the Xalan release. * <P>This class implements the upcoming standard of having * org.apache.project-name.Version.getVersion() be a standard way * to get version information. This class will replace the older * org.apache.xalan.processor.Version class.</P> * <P>See also: org/apache/xalan/res/XSLTInfo.properties for * information about the version of the XSLT spec we support.</P> * @xsl.usage general */
public class Version {
Get the basic version string for the current Xalan release. Version String formatted like "Xalan Java v.r[.dd| Dnn]". Futurework: have this read version info from jar manifest.
Returns:String denoting our current version
/** * Get the basic version string for the current Xalan release. * Version String formatted like * <CODE>"<B>Xalan</B> <B>Java</B> v.r[.dd| <B>D</B>nn]"</CODE>. * * Futurework: have this read version info from jar manifest. * * @return String denoting our current version */
public static String getVersion() { return getProduct()+" "+getImplementationLanguage()+" " +getMajorVersionNum()+"."+getReleaseVersionNum()+"." +( (getDevelopmentVersionNum() > 0) ? ("D"+getDevelopmentVersionNum()) : (""+getMaintenanceVersionNum())); }
Print the processor version to the command line.
Params:
  • argv – command line arguments, unused.
/** * Print the processor version to the command line. * * @param argv command line arguments, unused. */
public static void main(String argv[]) { System.out.println(getVersion()); }
Name of product: Xalan.
/** * Name of product: Xalan. */
public static String getProduct() { return "Xalan"; }
Implementation Language: Java.
/** * Implementation Language: Java. */
public static String getImplementationLanguage() { return "Java"; }
Major version number. Version number. This changes only when there is a significant, externally apparent enhancement from the previous release. 'n' represents the n'th version. Clients should carefully consider the implications of new versions as external interfaces and behaviour may have changed.
/** * Major version number. * Version number. This changes only when there is a * significant, externally apparent enhancement from * the previous release. 'n' represents the n'th * version. * * Clients should carefully consider the implications * of new versions as external interfaces and behaviour * may have changed. */
public static int getMajorVersionNum() { return 2; }
Release Number. Release number. This changes when: - a new set of functionality is to be added, eg, implementation of a new W3C specification. - API or behaviour change. - its designated as a reference release.
/** * Release Number. * Release number. This changes when: * - a new set of functionality is to be added, eg, * implementation of a new W3C specification. * - API or behaviour change. * - its designated as a reference release. */
public static int getReleaseVersionNum() { return 7; }
Maintenance Drop Number. Optional identifier used to designate maintenance drop applied to a specific release and contains fixes for defects reported. It maintains compatibility with the release and contains no API changes. When missing, it designates the final and complete development drop for a release.
/** * Maintenance Drop Number. * Optional identifier used to designate maintenance * drop applied to a specific release and contains * fixes for defects reported. It maintains compatibility * with the release and contains no API changes. * When missing, it designates the final and complete * development drop for a release. */
public static int getMaintenanceVersionNum() { return 2; }
Development Drop Number. Optional identifier designates development drop of a specific release. D01 is the first development drop of a new release. Development drops are works in progress towards a compeleted, final release. A specific development drop may not completely implement all aspects of a new feature, which may take several development drops to complete. At the point of the final drop for the release, the D suffix will be omitted. Each 'D' drops can contain functional enhancements as well as defect fixes. 'D' drops may not be as stable as the final releases.
/** * Development Drop Number. * Optional identifier designates development drop of * a specific release. D01 is the first development drop * of a new release. * * Development drops are works in progress towards a * compeleted, final release. A specific development drop * may not completely implement all aspects of a new * feature, which may take several development drops to * complete. At the point of the final drop for the * release, the D suffix will be omitted. * * Each 'D' drops can contain functional enhancements as * well as defect fixes. 'D' drops may not be as stable as * the final releases. */
public static int getDevelopmentVersionNum() { try { if ((new String("")).length() == 0) return 0; else return Integer.parseInt(""); } catch (NumberFormatException nfe) { return 0; } } }