| /* |
| * 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.cocoon.components.slide.impl; |
| |
| import java.util.Enumeration; |
| import java.util.Vector; |
| |
| import org.apache.slide.util.conf.Configuration; |
| import org.apache.slide.util.conf.ConfigurationException; |
| |
| /** |
| * The class represent an adapter for the configuration class from jakarta slide |
| * |
| * @version CVS $Id$ |
| */ |
| public class SlideConfigurationAdapter implements Configuration { |
| |
| private org.apache.avalon.framework.configuration.Configuration configuration; |
| |
| /** |
| * Create a new adapter to map a Avalon configuration |
| * to a Slide configuration |
| * |
| * @param configuration Avalon configuration |
| */ |
| public SlideConfigurationAdapter(org.apache.avalon.framework.configuration.Configuration configuration) { |
| this.configuration = configuration; |
| } |
| |
| /** |
| * Return the name of the node. |
| * |
| * @return name of the <code>Configuration</code> node. |
| */ |
| public String getName() { |
| return this.configuration.getName(); |
| } |
| |
| /** |
| * Return a new <code>Configuration</code> instance encapsulating the |
| * specified child node. |
| * |
| * @param child The name of the child node. |
| * |
| * @return Configuration |
| * |
| * @throws ConfigurationException If no child with that name exists. |
| */ |
| public Configuration getConfiguration(String child) |
| throws ConfigurationException { |
| if (this.configuration.getChild(child, false) == null) |
| throw new ConfigurationException("No configuration element " + child |
| + " at " + this.configuration.getLocation(), this); |
| return new SlideConfigurationAdapter(this.configuration.getChild(child)); |
| } |
| |
| /** |
| * Return an <code>Enumeration</code> of <code>Configuration<code> |
| * elements containing all node children with the specified name. |
| * |
| * @param name The name of the children to get. |
| * |
| * @return Enumeration. The <code>Enumeration</code> will be |
| * empty if there are no nodes by the specified name. |
| */ |
| public Enumeration getConfigurations(String name) { |
| |
| Vector configurations = new Vector(); |
| org.apache.avalon.framework.configuration.Configuration[] childs = this.configuration.getChildren(name); |
| |
| for (int i = 0; i<childs.length; i++) { |
| configurations.addElement(new SlideConfigurationAdapter(childs[i])); |
| } |
| return configurations.elements(); |
| } |
| |
| /** |
| * Return the value of specified attribute. |
| * |
| * @param paramName The name of the parameter you ask the value of. |
| * |
| * @return String value of attribute. |
| * |
| * @throws ConfigurationException If no attribute with that name exists. |
| */ |
| public String getAttribute(String paramName) |
| throws ConfigurationException { |
| |
| try { |
| return this.configuration.getAttribute(paramName); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>int</code> value of the specified attribute contained |
| * in this node. |
| * |
| * @param paramName The name of the parameter you ask the value of. |
| * |
| * @return int value of attribute |
| * |
| * @throws ConfigurationException If no parameter with that name exists. |
| * or if conversion to <code>int</code> fails. |
| */ |
| public int getAttributeAsInt(String paramName) |
| throws ConfigurationException { |
| |
| try { |
| return this.configuration.getAttributeAsInteger(paramName); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Returns the value of the attribute specified by its name as a |
| * <code>long</code>. |
| * |
| * |
| * @param name |
| * |
| * @return long value of attribute |
| * |
| * @throws ConfigurationException If no parameter with that name exists. |
| * or if conversion to <code>long</code> fails. |
| */ |
| public long getAttributeAsLong(String name) |
| throws ConfigurationException { |
| |
| try { |
| return this.configuration.getAttributeAsLong(name); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>float</code> value of the specified parameter contained |
| * in this node. |
| * |
| * @param paramName The name of the parameter you ask the value of. |
| * |
| * @return float value of attribute |
| * |
| * @throws ConfigurationException If no parameter with that name exists. |
| * or if conversion to <code>float</code> fails. |
| */ |
| public float getAttributeAsFloat(String paramName) |
| throws ConfigurationException { |
| |
| try { |
| return this.configuration.getAttributeAsFloat(paramName); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>boolean</code> value of the specified parameter contained |
| * in this node.<br> |
| * |
| * @param paramName The name of the parameter you ask the value of. |
| * |
| * @return boolean value of attribute |
| * |
| * @throws ConfigurationException If no parameter with that name exists. |
| * or if conversion to <code>boolean</code> fails. |
| */ |
| public boolean getAttributeAsBoolean(String paramName) |
| throws ConfigurationException { |
| |
| try { |
| return this.configuration.getAttributeAsBoolean(paramName); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>String</code> value of the node. |
| * |
| * @return the value of the node. |
| */ |
| public String getValue() { |
| |
| try { |
| return this.configuration.getValue(); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| return ""; |
| } |
| } |
| |
| /** |
| * Return the <code>int</code> value of the node. |
| * |
| * @return the value of the node. |
| * |
| * @throws ConfigurationException If conversion to <code>int</code> fails. |
| */ |
| public int getValueAsInt() throws ConfigurationException { |
| |
| try { |
| return this.configuration.getValueAsInteger(); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>float</code> value of the node. |
| * |
| * @return the value of the node. |
| * |
| * @throws ConfigurationException If conversion to <code>float</code> fails. |
| */ |
| public float getValueAsFloat() throws ConfigurationException { |
| |
| try { |
| return this.configuration.getValueAsFloat(); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>boolean</code> value of the node. |
| * |
| * @return the value of the node. |
| * |
| * @throws ConfigurationException If conversion to <code>boolean</code> fails. |
| */ |
| public boolean getValueAsBoolean() throws ConfigurationException { |
| |
| try { |
| return this.configuration.getValueAsBoolean(); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Return the <code>long</code> value of the node.<br> |
| * |
| * @return the value of the node. |
| * |
| * @throws ConfigurationException If conversion to <code>long</code> fails. |
| */ |
| public long getValueAsLong() throws ConfigurationException { |
| |
| try { |
| return this.configuration.getValueAsLong(); |
| } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) { |
| throw new ConfigurationException(ce.getMessage(), this); |
| } |
| } |
| |
| /** |
| * Returns the value of the configuration element as a <code>String</code>. |
| * If the configuration value is not set, the default value will be |
| * used. |
| * |
| * @param defaultValue The default value desired. |
| * |
| * @return String value of the <code>Configuration</code>, or default |
| * if none specified. |
| */ |
| public String getValue(String defaultValue) { |
| |
| return this.configuration.getValue(defaultValue); |
| } |
| |
| /** |
| * Returns the value of the configuration element as an <code>int</code>. |
| * If the configuration value is not set, the default value will be |
| * used. |
| * |
| * @param defaultValue The default value desired. |
| * |
| * @return int value of the <code>Configuration</code>, or default |
| * if none specified. |
| */ |
| public int getValueAsInt(int defaultValue) { |
| |
| return this.configuration.getValueAsInteger(defaultValue); |
| } |
| |
| /** |
| * Returns the value of the configuration element as a <code>long</code>. |
| * If the configuration value is not set, the default value will be |
| * used. |
| * |
| * @param defaultValue The default value desired. |
| * |
| * @return long value of the <code>Configuration</code>, or default |
| * if none specified. |
| */ |
| public long getValueAsLong(long defaultValue) { |
| |
| return this.configuration.getValueAsLong(defaultValue); |
| } |
| |
| /** |
| * Returns the value of the configuration element as a <code>float</code>. |
| * If the configuration value is not set, the default value will be |
| * used. |
| * |
| * @param defaultValue The default value desired. |
| * |
| * @return float value of the <code>Configuration</code>, or default |
| * if none specified. |
| */ |
| public float getValueAsFloat(float defaultValue) { |
| |
| return this.configuration.getValueAsFloat(defaultValue); |
| } |
| |
| /** |
| * Returns the value of the configuration element as a <code>boolean</code>. |
| * If the configuration value is not set, the default value will be |
| * used. |
| * |
| * @param defaultValue The default value desired. |
| * |
| * @return boolean value of the <code>Configuration</code>, or default |
| * if none specified. |
| */ |
| public boolean getValueAsBoolean(boolean defaultValue) { |
| |
| return this.configuration.getValueAsBoolean(defaultValue); |
| } |
| |
| /** |
| * Returns the value of the attribute specified by its name as a |
| * <code>String</code>, or the default value if no attribute by |
| * that name exists or is empty. |
| * |
| * @param name The name of the attribute you ask the value of. |
| * @param defaultValue The default value desired. |
| * |
| * @return String value of attribute. It will return the default |
| * value if the named attribute does not exist, or if |
| * the value is not set. |
| */ |
| public String getAttribute(String name, String defaultValue) { |
| |
| return this.configuration.getAttribute(name, defaultValue); |
| } |
| |
| /** |
| * Returns the value of the attribute specified by its name as a |
| * <code>int</code>, or the default value if no attribute by |
| * that name exists or is empty. |
| * |
| * @param name The name of the attribute you ask the value of. |
| * @param defaultValue The default value desired. |
| * |
| * @return int value of attribute. It will return the default |
| * value if the named attribute does not exist, or if |
| * the value is not set. |
| */ |
| public int getAttributeAsInt(String name, int defaultValue) { |
| |
| return this.configuration.getAttributeAsInteger(name, defaultValue); |
| } |
| |
| /** |
| * Returns the value of the attribute specified by its name as a |
| * <code>long</code>, or the default value if no attribute by |
| * that name exists or is empty. |
| * |
| * @param name The name of the attribute you ask the value of. |
| * @param defaultValue The default value desired. |
| * |
| * @return long value of attribute. It will return the default |
| * value if the named attribute does not exist, or if |
| * the value is not set. |
| */ |
| public long getAttributeAsLong(String name, long defaultValue) { |
| |
| return this.configuration.getAttributeAsLong(name, defaultValue); |
| } |
| |
| /** |
| * Returns the value of the attribute specified by its name as a |
| * <code>float</code>, or the default value if no attribute by |
| * that name exists or is empty. |
| * |
| * @param name The name of the attribute you ask the value of. |
| * @param defaultValue The default value desired. |
| * |
| * @return float value of attribute. It will return the default |
| * value if the named attribute does not exist, or if |
| * the value is not set. |
| */ |
| public float getAttributeAsFloat(String name, float defaultValue) { |
| |
| return this.configuration.getAttributeAsFloat(name, defaultValue); |
| } |
| |
| /** |
| * Returns the value of the attribute specified by its name as a |
| * <code>boolean</code>, or the default value if no attribute by |
| * that name exists or is empty. |
| * |
| * @param name The name of the attribute you ask the value of. |
| * @param defaultValue The default value desired. |
| * |
| * @return boolean value of attribute. It will return the default |
| * value if the named attribute does not exist, or if |
| * the value is not set. |
| */ |
| public boolean getAttributeAsBoolean(String name, boolean defaultValue) { |
| |
| return this.configuration.getAttributeAsBoolean(name, defaultValue); |
| } |
| |
| /** |
| * Return a <code>String</code> indicating the position of this |
| * configuration element in a source file or URI. |
| * |
| * @return String if a source file or URI is specified. Otherwise |
| * it returns <code>null</code> |
| */ |
| public String getLocation() { |
| |
| return this.configuration.getLocation(); |
| } |
| } |