I should have figured the .java file would be stripped.

Here it is with .txt appended to get it through.

-- Larry

/*
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 2003 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution, if
 *    any, must include the following acknowlegement:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org/)."
 *    Alternately, this acknowlegement may appear in the software itself,
 *    if and wherever such third-party acknowlegements normally appear.
 *
 * 4. The names "Ant" and "Apache Software
 *    Foundation" must not be used to endorse or promote products derived
 *    from this software without prior written permission. For written
 *    permission, please contact [EMAIL PROTECTED]
 *
 * 5. Products derived from this software may not be called "Apache"
 *    nor may "Apache" appear in their names without prior written
 *    permission of the Apache Group.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 */
package org.apache.tools.ant.taskdefs.optional;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.WordUtils;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.EnumeratedAttribute;

/**
 * Format a property by a specific style. Uses Jakarta-Commons-Lang to do the
 * heavy lifting. Here are the currently implimented formats avaliable:
 * <ul>
 *  <li>trim</li>
 *  <li>strip</li>
 *  <li>chomp</li>
 *  <li>deletewhitespace</li>
 *  <li>chop</li>
 *  <li>uppercase</li>
 *  <li>lowercase</li>
 *  <li>swapcase</li>
 *  <li>capitalize</li>
 *  <li>uncapitalize</li>
 *  <li>reverse</li>
 *  <li>capitalizewords</li>
 *  <li>capitalizewordsfully</li>
 *  <li>uncapitalizewords</li>
 * </ul>
 *
 * @author Larry Shatzer
 */


public class PropertyFormatter extends Task {
    private String property = null;
    private String string = null;
    private String format = null;

    /**
     * The name of property to set the new value too
     */
    public void setProperty(String p) {
        property = p;
    }
    /**
     * The value of the string
     */
    public void setString(String p) {
        string = p;
    }

    /**
     * Allowable formats for this ant task:
     * "trim", "strip", "deletewhitespace", "chomp", "chop", "uppercase",
     * "lowercase", "swapcase", "capitalize", "uncapitalize", "reverse"
     * "capitalizewords", "capitalizewordsfully", "uncapitalizewords"
     */

    public static class PropertyFormat extends EnumeratedAttribute {
        public String[] getValues() {
            return new String[] {"trim", "strip", "deletewhitespace", "chomp", 
"chop", "uppercase", "lowercase", "swapcase", "capitalize", "uncapitalize", 
"reverse", "catitalizewords", "capipalizewordsfully", "uncapitalizewords"};
        }
    }

    /**
     * The format to use
     */
    public void setFormat(PropertyFormat pf) {
        format = pf.getValue();
    }

    /**
     * Depending on what format is chosen, run the appropriate method in the
     * StringUtils class.
     */
    public void execute() throws BuildException {
          if (format == null) {
            throw new BuildException("Attribute format is required.", 
getLocation());
        }
          if (string == null) {
            throw new BuildException("Attribute string is required.", 
getLocation());
        }
          if (property == null) {
            throw new BuildException("Attribute property is required.", 
getLocation());
        }

        if (format.equalsIgnoreCase("trim")) {
            getProject().setNewProperty(property, StringUtils.trim(string));
        }
        if (format.equalsIgnoreCase("strip")) {
            getProject().setNewProperty(property, StringUtils.strip(string));
        }
        if (format.equalsIgnoreCase("deletewhitespace")) {
            getProject().setNewProperty(property, 
StringUtils.deleteWhitespace(string));
        }
        else if (format.equalsIgnoreCase("chomp")) {
            getProject().setNewProperty(property, StringUtils.chomp(string));
        }
        else if (format.equalsIgnoreCase("chop")) {
            getProject().setNewProperty(property, StringUtils.chop(string));
        }
        else if (format.equalsIgnoreCase("uppercase")) {
            getProject().setNewProperty(property, 
StringUtils.upperCase(string));
        }
        else if (format.equalsIgnoreCase("lowercase")) {
            getProject().setNewProperty(property, 
StringUtils.lowerCase(string));
        }
        else if (format.equalsIgnoreCase("swapcase")) {
            getProject().setNewProperty(property, StringUtils.swapCase(string));
        }
        else if (format.equalsIgnoreCase("capitalize")) {
            getProject().setNewProperty(property, 
StringUtils.capitalize(string));
        }
        else if (format.equalsIgnoreCase("uncapitalize")) {
            getProject().setNewProperty(property, 
StringUtils.uncapitalize(string));
        }
        else if (format.equalsIgnoreCase("reverse")) {
            getProject().setNewProperty(property, StringUtils.reverse(string));
        }
        else if (format.equalsIgnoreCase("capitalizewords")) {
            getProject().setNewProperty(property, WordUtils.capitalize(string));
        }
        else if (format.equalsIgnoreCase("capitalizewordsfully")) {
            getProject().setNewProperty(property, 
WordUtils.capitalizeFully(string));
        }
        else if (format.equalsIgnoreCase("uncapitalizewords")) {
            getProject().setNewProperty(property, 
WordUtils.uncapitalize(string));
        }
    }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to