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    }