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 }