01 /* 
02  * Copyright 2008-2017 the original author or authors. 
03  * 
04  * Licensed under the Apache License, Version 2.0 (the "License"); 
05  * you may not use this file except in compliance with the License. 
06  * You may obtain a copy of the License at 
07  * 
08  *     http://www.apache.org/licenses/LICENSE-2.0 
09  * 
10  * Unless required by applicable law or agreed to in writing, software 
11  * distributed under the License is distributed on an "AS IS" BASIS, 
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
13  * See the License for the specific language governing permissions and 
14  * limitations under the License. 
15  */ 
16 package griffon.core.injection; 
17  
18 import javax.annotation.Nonnull; 
19 import javax.annotation.Nullable; 
20 import java.lang.annotation.Annotation; 
21  
22 /** 
23  * @author Andres Almiray 
24  * @since 2.0.0 
25  */ 
26 public interface Binding<T> { 
27     @Nonnull 
28     Class<T> getSource(); 
29  
30     @Nullable 
31     Class<? extends Annotation> getClassifierType(); 
32  
33     @Nullable 
34     Annotation getClassifier(); 
35  
36     boolean isSingleton(); 
37 }
    
    |