View Javadoc
1 package org.apache.commons.jelly.tags.ant; 2 3 /* ==================================================================== 4 * The Apache Software License, Version 1.1 5 * 6 * Copyright (c) 2001 The Apache Software Foundation. All rights 7 * reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in 18 * the documentation and/or other materials provided with the 19 * distribution. 20 * 21 * 3. The end-user documentation included with the redistribution, 22 * if any, must include the following acknowledgment: 23 * "This product includes software developed by the 24 * Apache Software Foundation (http://www.apache.org/)." 25 * Alternately, this acknowledgment may appear in the software itself, 26 * if and wherever such third-party acknowledgments normally appear. 27 * 28 * 4. The names "Apache" and "Apache Software Foundation" and 29 * "Apache Maven" must not be used to endorse or promote products 30 * derived from this software without prior written permission. For 31 * written permission, please contact apache@apache.org. 32 * 33 * 5. Products derived from this software may not be called "Apache", 34 * "Apache Maven", nor may "Apache" appear in their name, without 35 * prior written permission of the Apache Software Foundation. 36 * 37 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 39 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 40 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 41 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 42 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 43 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 44 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 45 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 46 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 47 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 48 * SUCH DAMAGE. 49 * ==================================================================== 50 * 51 * This software consists of voluntary contributions made by many 52 * individuals on behalf of the Apache Software Foundation. For more 53 * information on the Apache Software Foundation, please see 54 * <http://www.apache.org/>;. 55 * 56 * ==================================================================== 57 */ 58 59 import java.util.Hashtable; 60 import java.util.Iterator; 61 62 import org.apache.commons.grant.DefaultPropsHandler; 63 import org.apache.commons.jelly.JellyContext; 64 65 /*** Implementation of a Commons Grant <code>propsHandler</code> 66 * to resolve through Jelly's context. 67 * 68 * @author <a href="mailto:bob@eng.werken.com">Bob McWhirter</a> 69 * @author <a href="mailto:stephenh@chase3000.com">Stephen Haberman</a> 70 */ 71 public class JellyPropsHandler extends DefaultPropsHandler { 72 73 /*** The JellyContext. */ 74 private JellyContext context; 75 76 /*** Simple constructor with the context to be used. 77 * 78 * @param context The context to be used. 79 */ 80 public JellyPropsHandler(JellyContext context) { 81 this.context = context; 82 } 83 84 /*** Set an ant property. 85 * 86 * @param name The property name. 87 * @param value The property value. 88 */ 89 public void setProperty(String name, String value) { 90 this.context.setVariable(name, value); 91 } 92 93 /*** Retrieve an ant property. 94 * 95 * @param name The property name. 96 * 97 * @return The property value. 98 */ 99 public String getProperty(String name) { 100 if (name == null) { 101 return null; 102 } 103 Object value = this.context.getVariable(name); 104 if (value == null) { 105 return null; 106 } 107 else { 108 return value.toString(); 109 } 110 } 111 112 /*** Retrieve all ant properties. 113 * 114 * @return A <code>Hashtable</code> of all properties. 115 */ 116 public Hashtable getProperties() { 117 Hashtable h = new Hashtable(); 118 for (Iterator i = this.context.getVariableNames(); i.hasNext(); ) { 119 String name = (String) i.next(); 120 Object value = this.context.getVariable(name); 121 if (value != null) { 122 h.put(name, value.toString()); 123 } 124 } 125 return h; 126 } 127 128 }

This page was automatically generated by Maven