    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.behaviors;
    011
    012    import org.picocontainer.BehaviorFactory;
    013
    014    /**
    015     * Static collection of factory methods for different BehaviourFactory implementations.
    016     *
    017     * @author Paul Hammant
    018     * @author Mauro Talevi
    019     */
    020    public class Behaviors {
    021
    022        /**
    023         * Prevents instantiation
    024         */
    025        private Behaviors(){
    026            // no-op
    027        }
    028
    029        public static BehaviorFactory implementationHiding() {
    030            return new ImplementationHiding();
    031        }
    032
    033        public static BehaviorFactory caching() {
    034            return new Caching();
    035        }
    036
    037        public static BehaviorFactory synchronizing() {
    038            return new Synchronizing();
    039        }
    040
    041        public static BehaviorFactory locking() {
    042            return new Locking();
    043        }
    044
    045        public static BehaviorFactory propertyApplying() {
    046            return new PropertyApplying();
    047        }
    048
    049        public static BehaviorFactory automatic() {
    050            return new Automating();
    051        }
    052
    053    }