|
Ant example source code file (DeweyDecimal.java)
The DeweyDecimal.java source code/* * 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. * */ package org.apache.tools.ant.util; import java.util.StringTokenizer; /** * Utility class to contain version numbers in "Dewey Decimal" * syntax. Numbers in the "Dewey Decimal" syntax consist of positive * decimal integers separated by periods ".". For example, "2.0" or * "1.2.3.4.5.6.7". This allows an extensible number to be used to * represent major, minor, micro, etc versions. The version number * must begin with a number. * */ public class DeweyDecimal { /** Array of components that make up DeweyDecimal */ private int[] components; /** * Construct a DeweyDecimal from an array of integer components. * * @param components an array of integer components. */ public DeweyDecimal(final int[] components) { this.components = new int[components.length]; for (int i = 0; i < components.length; i++) { this.components[i] = components[i]; } } /** * Construct a DeweyDecimal from string in DeweyDecimal format. * * @param string the string in dewey decimal format * @exception NumberFormatException if string is malformed */ public DeweyDecimal(final String string) throws NumberFormatException { final StringTokenizer tokenizer = new StringTokenizer(string, ".", true); final int size = tokenizer.countTokens(); components = new int[ (size + 1) / 2 ]; for (int i = 0; i < components.length; i++) { final String component = tokenizer.nextToken(); if (component.equals("")) { throw new NumberFormatException("Empty component in string"); } components[ i ] = Integer.parseInt(component); //Strip '.' token if (tokenizer.hasMoreTokens()) { tokenizer.nextToken(); //If it ended in a dot, throw an exception if (!tokenizer.hasMoreTokens()) { throw new NumberFormatException("DeweyDecimal ended in a '.'"); } } } } /** * Return number of components in <code>DeweyDecimal. * * @return the number of components in dewey decimal */ public int getSize() { return components.length; } /** * Return the component at specified index. * * @param index the index of components * @return the value of component at index */ public int get(final int index) { return components[ index ]; } /** * Return <code>true if this Other Ant examples (source code examples)Here is a short list of links related to this Ant DeweyDecimal.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.