001/*
002 * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
003 * 
004 * http://www.izforge.com/izpack/
005 * http://developer.berlios.de/projects/izpack/
006 * 
007 * Copyright 2005 Chad McHenry
008 * 
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *     http://www.apache.org/licenses/LICENSE-2.0
014 *     
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 */
021
022package com.izforge.izpack.ant;
023
024import java.util.Properties;
025
026import org.apache.tools.ant.Project;
027
028/**
029 * A subclass of Ant Property to validate values, but not add to the ant
030 * project's properties.
031 * 
032 * @author Chad McHenry
033 */
034public class Property extends org.apache.tools.ant.taskdefs.Property
035{
036    /** Store the property[s] of this Property tag. */
037    protected Properties props = new Properties();
038    
039    /** Creates new IZPackTask */
040    public Property() {
041        super(false);
042    }
043
044    public Properties getProperties()
045    {
046        return props;
047    }
048    
049    /**
050     * Overridden to store properties locally, not in the Ant Project.
051     *
052     * @param n name of property
053     * @param v value to set
054     */
055    protected void addProperty(String n, String v) {
056        if (props.get(n) == null)
057            props.put(n, v);
058        else
059            log("Override ignored for " + n, Project.MSG_VERBOSE);
060    }
061}