001    /*****************************************************************************
002     * Copyright (C) PicoContainer Organization. All rights reserved.            *
003     * ------------------------------------------------------------------------- *
004     * The software in this package is published under the terms of the BSD      *
005     * style license a copy of which has been included with this distribution in *
006     * the LICENSE.txt file.                                                     *
007     *                                                                           *
008     * Original code by                                                          *
009     *****************************************************************************/
010    package org.picocontainer.script.xml;
011    
012    import org.w3c.dom.Element;
013    import static org.picocontainer.script.xml.AttributeUtils.*;
014    import static org.picocontainer.script.xml.XMLConstants.*;
015    
016    /**
017     * Extensible way to bundle up attributes for the container
018     * XML node.
019     * @author Mike Rimov
020     *
021     */
022    public class ContainerOptions {
023            
024        private final Element rootElement;
025    
026            public ContainerOptions(Element rootElement) {
027                    this.rootElement = rootElement;
028            }
029            
030            
031            public boolean isInheritParentBehaviors() {
032            return boolValue(rootElement.getAttribute(INHERIT_BEHAVIORS_ATTRIBUTE), false);
033                    
034            }
035            
036            public boolean isCaching() {
037                    return boolValue(rootElement.getAttribute(CACHING_ATTRIBUTE), true);
038            }
039            
040            public String getMonitorName() {
041                    return rootElement.getAttribute(COMPONENT_MONITOR);
042            }
043            
044            public String getComponentFactoryName() {
045                    return rootElement.getAttribute(COMPONENT_ADAPTER_FACTORY);             
046            }
047            
048    }