001    package org.picocontainer.gems;
002    
003    import static org.picocontainer.Characteristics.*;
004    
005    import java.util.Properties;
006    
007    /**
008     * A list of properties to allow switching on and off different characteristics at container 
009     * construction time.
010     * @author Michael Rimov
011     */
012    public final class GemsCharacteristics {
013    
014            private static String _JMX = "jmx";
015            
016        private static final String _HOT_SWAP = "hotswap";
017            
018            
019        private static final String _POOL = "pooled";
020        
021        /**
022         * Turn off behavior for {@link org.picocontainer.gems.jmx.JMXExposing JMXExposing}
023         */
024        public static final Properties NO_JMX = immutable(_JMX, FALSE);
025    
026        /**
027         * Turn on behavior for {@link org.picocontainer.gems.jmx.JMXExposing JMXExposing}
028         */
029        public static final Properties JMX = immutable(_JMX, TRUE);
030        
031        
032        /**
033         * Turn on hot-swapping behavior.
034         */
035        public static final Properties HOT_SWAP = immutable(_HOT_SWAP, TRUE);
036        
037        /**
038         * Turn off hot swapping behavior.
039         */
040        public static final Properties NO_HOT_SWAP = immutable(_HOT_SWAP, FALSE);
041        
042        /**
043         * Turn on pooling behavior.
044         */
045        public static final Properties POOL = immutable(_POOL, TRUE);
046        
047        /**
048         * Turn off pooling behavior.
049         */
050        public static final Properties NO_POOL = immutable(_POOL, FALSE);
051    
052    }