This project has retired. For details please refer to its Attic page.
Source code
001/*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *   http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied.  See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019package org.apache.reef.tang.exceptions;
020
021/**
022 * Thrown when an injection fails.  Injections commonly fail for two reasons.
023 * The first is that the InjectionPlan that Tang produced is ambiguous or
024 * infeasible.  The second is that a constructor invoked by Tang itself threw
025 * an exception.
026 * <p>
027 * A third, less common issue arises when constructors obtain a handle to the
028 * Tang Injector that created them, and then attempt to modify its state.
029 * Doing so is illegal, and results in a runtime exception that Tang converts
030 * into an InjectionException.  Code involved in such exceptions is typically
031 * attempting to perform cyclic object injections, and should use an
032 * InjectionFuture instead.
033 */
034public class InjectionException extends Exception {
035  private static final long serialVersionUID = 1L;
036
037  public InjectionException(final String msg, final Throwable cause) {
038    super(msg, cause);
039  }
040
041  public InjectionException(final String msg) {
042    super(msg);
043  }
044}