InstanceNotFoundException.java
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.exceptions;
17 
18 import javax.annotation.Nonnull;
19 import java.lang.annotation.Annotation;
20 
21 /**
22  @author Andres Almiray
23  @since 2.0.0
24  */
25 public class InstanceNotFoundException extends GriffonException {
26     private static final long serialVersionUID = 4999935012183988413L;
27     private static final String COULD_NOT_FIND_AN_INSTANCE_OF_TYPE = "Could not find an instance of type ";
28     private static final String TYPE = "type";
29     private static final String CAUSE = "cause";
30     private static final String WITH_QUALIFIER = " with qualifier ";
31     private static final String QUALIFIER = "qualifier";
32 
33     public InstanceNotFoundException(@Nonnull Class<?> type) {
34         super(COULD_NOT_FIND_AN_INSTANCE_OF_TYPE + checkNonNull(type, TYPE).getName());
35     }
36 
37     public InstanceNotFoundException(@Nonnull Class<?> type, @Nonnull Throwable cause) {
38         super(COULD_NOT_FIND_AN_INSTANCE_OF_TYPE + checkNonNull(type, TYPE).getName(), checkNonNull(cause, CAUSE));
39     }
40 
41     public InstanceNotFoundException(@Nonnull Class<?> type, @Nonnull Annotation qualifier) {
42         super(COULD_NOT_FIND_AN_INSTANCE_OF_TYPE + checkNonNull(type, TYPE).getName() + WITH_QUALIFIER + checkNonNull(qualifier, QUALIFIER));
43     }
44 
45     public InstanceNotFoundException(@Nonnull Class<?> type, @Nonnull Annotation qualifier, @Nonnull Throwable cause) {
46         super(COULD_NOT_FIND_AN_INSTANCE_OF_TYPE + checkNonNull(type, TYPE).getName() + WITH_QUALIFIER + checkNonNull(qualifier, QUALIFIER), checkNonNull(cause, CAUSE));
47     }
48 }