001package org.picocontainer.gems;
002
003import static org.picocontainer.Characteristics.*;
004
005import 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 */
012public 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}