13a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee/** 23a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * Copyright (C) 2006 Google Inc. 33a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * 43a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * Licensed under the Apache License, Version 2.0 (the "License"); 53a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * you may not use this file except in compliance with the License. 63a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * You may obtain a copy of the License at 73a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * 83a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * http://www.apache.org/licenses/LICENSE-2.0 93a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * 103a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * Unless required by applicable law or agreed to in writing, software 113a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * distributed under the License is distributed on an "AS IS" BASIS, 123a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * See the License for the specific language governing permissions and 143a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * limitations under the License. 153a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee */ 163a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee 173a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazybobleepackage com.google.inject.servlet; 183a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee 192394ca60e4ddd24228ae0e2d0bf06a3533cfaeb8kevinbimport com.google.inject.ScopeAnnotation; 20b7a02b02d81c830d148355c90bc309bcd66fb592sberlin 213a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazybobleeimport java.lang.annotation.ElementType; 223a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazybobleeimport java.lang.annotation.Retention; 233a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazybobleeimport java.lang.annotation.RetentionPolicy; 243a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazybobleeimport java.lang.annotation.Target; 253a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee 263a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee/** 273a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * Apply this to implementation classes when you want one instance per request. 283a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * 293a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee * @author crazybob@google.com (Bob Lee) 303a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee */ 3181303cd94bbdb87f94c6082d1a52429c39044e59crazyboblee@Target({ ElementType.TYPE, ElementType.METHOD }) 323a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazyboblee@Retention(RetentionPolicy.RUNTIME) 3397b2cacb2aedd4c1450f5cafd068a5354c97f5ddcrazyboblee@ScopeAnnotation 343a09e299752cc7352aff1dc4f0d3b3ffe1e69c55crazybobleepublic @interface RequestScoped {} 35