    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    }