001    /*******************************************************************************
002     * Copyright (C) PicoContainer Organization. All rights reserved.
003     * --------------------------------------------------------------------------
004     * The software in this package is published under the terms of the BSD style
005     * license a copy of which has been included with this distribution in the
006     * LICENSE.txt file.
007     ******************************************************************************/
008    package org.picocontainer.web;
009    
010    import org.picocontainer.MutablePicoContainer;
011    import org.picocontainer.behaviors.Storing;
012    
013    public final class ScopedContainers {
014    
015        private final MutablePicoContainer applicationContainer;
016        private final MutablePicoContainer sessionContainer;
017        private final MutablePicoContainer requestContainer;
018        private final Storing sessionStoring;
019        private final Storing requestStoring;
020        private final ThreadLocalLifecycleState sessionState;
021        private final ThreadLocalLifecycleState requestState;
022    
023        public ScopedContainers(MutablePicoContainer applicationContainer, MutablePicoContainer sessionContainer, MutablePicoContainer requestContainer, Storing sessionStoring, Storing requestStoring, ThreadLocalLifecycleState sessionState, ThreadLocalLifecycleState requestState) {
024            this.applicationContainer = applicationContainer;
025            this.sessionContainer = sessionContainer;
026            this.requestContainer = requestContainer;
027            this.sessionStoring = sessionStoring;
028            this.requestStoring = requestStoring;
029            this.sessionState = sessionState;
030            this.requestState = requestState;
031        }
032    
033        MutablePicoContainer getApplicationContainer() {
034            return applicationContainer;
035        }
036    
037        MutablePicoContainer getSessionContainer() {
038            return sessionContainer;
039        }
040    
041        MutablePicoContainer getRequestContainer() {
042            return requestContainer;
043        }
044    
045        Storing getSessionStoring() {
046            return sessionStoring;
047        }
048    
049        Storing getRequestStoring() {
050            return requestStoring;
051    
052        }
053    
054        ThreadLocalLifecycleState getSessionState() {
055            return sessionState;
056        }
057    
058        ThreadLocalLifecycleState getRequestState() {
059            return requestState;
060        }
061    }