Class ElementSource
- java.lang.Object
-
- com.google.inject.spi.ElementSource
-
public final class ElementSource extends Object
Contains information about where and how anelement
was bound.The
declaring source
refers to a location in source code that defines the Guiceelement
. For example, if the element is created from a method annotated by @Provides, the declaring source of element would be the method itself.The sequence of class names of
modules
involved in the element creation can be retrieved bygetModuleClassNames()
. The order of the module class names is reverse chronological. The first module (index 0) is the module that installs theelement
. The last module is the root module.In order to support the cases where a Guice
element
is created from another Guiceelement
(original) (e.g., byElement.applyTo(com.google.inject.Binder)
), it also provides a reference to the original element source (getOriginalElementSource()
).- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
getDeclaringSource()
Returns a single location in source code that defines the element.List<String>
getModuleClassNames()
Returns the class names of modules involved in creating thisElement
.ElementSource
getOriginalElementSource()
Returns theElementSource
of the element this was created or copied from.String
toString()
ReturnsgetDeclaringSource().toString()
value.
-
-
-
Method Detail
-
getOriginalElementSource
public ElementSource getOriginalElementSource()
Returns theElementSource
of the element this was created or copied from. If this was not created or copied from another element, returnsnull
.
-
getDeclaringSource
public Object getDeclaringSource()
Returns a single location in source code that defines the element. It can be any object such asConstructor
,Method
,Field
,StackTraceElement
, etc. For example, if the element is created from a method annotated by @Provides, the declaring source of element would be the method itself.
-
getModuleClassNames
public List<String> getModuleClassNames()
Returns the class names of modules involved in creating thisElement
. The first element (index 0) is the class name of module that defined the element, and the last element is the class name of root module.
-
-