View Javadoc

1   /*
2    *  jDTAUS Core API
3    *  Copyright (C) 2005 Christian Schulte
4    *  <cs@schulte.it>
5    *
6    *  This library is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public
8    *  License as published by the Free Software Foundation; either
9    *  version 2.1 of the License, or any later version.
10   *
11   *  This library is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this library; if not, write to the Free Software
18   *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19   *
20   */
21  package org.jdtaus.core.container;
22  
23  import java.util.Locale;
24  
25  /**
26   * Gets thrown for type collisions of inherited dependencies.
27   *
28   * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
29   * @version $JDTAUS: IllegalDependencyTypeException.java 8743 2012-10-07 03:06:20Z schulte $
30   */
31  public class IllegalDependencyTypeException extends IllegalStateException
32  {
33      //--Constants---------------------------------------------------------------
34  
35      /** Serial version UID for backwards compatibility with 1.5.x classes. */
36      private static final long serialVersionUID = 1616079465342123026L;
37  
38      //---------------------------------------------------------------Constants--
39      //--Constructors------------------------------------------------------------
40  
41      /**
42       * Creates a new instance of {@code IllegalDependencyTypeException} taking
43       * information about the dependency with illegal type.
44       *
45       * @param implementationIdentifier the identifier of the implementation with
46       * a dependency of illegal type.
47       * @param name the name of the dependency with illegal type.
48       * @param type the illegal type of the dependency with name {@code name}.
49       * @param expectedType the expected type of the dependency with name
50       * {@code name}.
51       */
52      public IllegalDependencyTypeException( final String implementationIdentifier,
53                                             final String name, final String type,
54                                             final String expectedType )
55      {
56          super( IllegalDependencyTypeExceptionBundle.getInstance().
57                 getIllegalDependencyTypeMessage( Locale.getDefault(),
58                                                  implementationIdentifier, name,
59                                                  type, expectedType ) );
60  
61          this.implementationIdentifier = implementationIdentifier;
62          this.name = name;
63          this.type = type;
64          this.expectedType = expectedType;
65      }
66  
67      //------------------------------------------------------------Constructors--
68      //--IllegalDependencyTypeException------------------------------------------
69  
70      /**
71       * The identifier of the implementation with a dependency of illegal type.
72       * @serial
73       */
74      private final String implementationIdentifier;
75  
76      /**
77       * The name of the dependency with illegal type.
78       * @serial
79       */
80      private final String name;
81  
82      /**
83       * The illegal type.
84       * @serial
85       */
86      private final String type;
87  
88      /**
89       * The expected type.
90       * @serial
91       */
92      private final String expectedType;
93  
94      /**
95       * Gets the identifier of the implementation with a dependency of illegal
96       * type.
97       *
98       * @return the identifier of the implementation with a dependency of illegal
99       * type.
100      */
101     public String getImplementationIdentifier()
102     {
103         return this.implementationIdentifier;
104     }
105 
106     /**
107      * Gets the name of the dependency with illegal type.
108      *
109      * @return the name of the dependency with illegal type.
110      */
111     public String getName()
112     {
113         return this.name;
114     }
115 
116     /**
117      * Gets the illegal type of the dependency.
118      *
119      * @return the illegal type of the dependency.
120      */
121     public String getType()
122     {
123         return this.type;
124     }
125 
126     /**
127      * Gets the expected type of the dependency.
128      *
129      * @return the expected type of the dependency.
130      */
131     public String getExpectedType()
132     {
133         return this.expectedType;
134     }
135 
136     //------------------------------------------IllegalDependencyTypeException--
137 }