Top Description Fields Constructors Methods
com.google.inject.internal

public final Class Errors

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
com.google.common.collect.ImmutableList, .ImmutableSet, .Lists, .Multimap, .Ordering, com.google.inject.Binding, .ConfigurationException, .CreationException, .Injector, .Key, .ProvisionException, .Scope, .TypeLiteral, com.google.inject.internal.util.SourceProvider, com.google.inject.spi.ElementSource, .InterceptorBinding, .Message, .ScopeBinding, .TypeConverterBinding, .TypeListenerBinding, java.io.Serializable, java.lang.annotation.Annotation, java.lang.reflect.Constructor, .Field, .Member, .Method, .Type, java.util.Collection, .Formatter, .List, .Map, .Set

A collection of error messages. If this type is passed as a method parameter, the method is considered to have executed successfully only if new errors were not added to this collection.

Errors can be chained to provide additional context. To add context, call withSource to create a new Errors instance that contains additional context. All messages added to the returned instance will contain full context.

To avoid messages with redundant context, withSource should be added sparingly. A good rule of thumb is to assume a method's caller has already specified enough context to identify that method. When calling a method that's defined in a different context, call that method with an errors object that includes its context.

Author
[email protected] (Jesse Wilson)

Field Summary

Modifier and TypeField and Description
private static final String
private List<Message>
errors

null unless (root == this) and error messages exist.

private final Errors
parent

The parent errors object.

private final Errors
root

The root errors object.

private final Object
source

The leaf source for errors added here.

Constructor Summary

AccessConstructor and Description
public
public
Errors(Object source)

private
Errors(Errors parent, Object source)

Method Summary

Modifier and TypeMethod and Description
public Errors
addMessage(String messageFormat, Object... arguments)

public Errors
addMessage(ErrorId errorId, String messageFormat, Object... arguments)

private Errors
addMessage(ErrorId errorId, Throwable cause, String messageFormat, Object... arguments)

public Errors
public Errors
public Errors
public Errors
public Errors
atTargetIsMissingParameter(Annotation bindingAnnotation, String parameterName, Class<?> clazz)

pack-priv Errors
bindingAlreadySet(Binding<?> binding, Binding<?> original)

public Errors
bindingAlreadySet(Key<?> key, Object source)

public Errors
public Errors
public Errors
public Errors
public Errors
public Errors
public Errors
public Errors
public Errors
public Errors
public Errors
pack-priv static void
checkConfiguration(boolean condition, String format, Object... args)

Throws a ConfigurationException with a formatted Message if this condition is false.

pack-priv static <T> T
checkNotNull(T reference, String name)

Throws a ConfigurationException with an NullPointerExceptions as the cause if the given reference is null.

public Errors
public Errors
public Errors
conversionError(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding typeConverterBinding, RuntimeException cause)

public Errors
conversionTypeError(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding typeConverterBinding, Object converted)

public static Object
public static Object
public Errors
converterReturnedNull(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding typeConverterBinding)

public Errors
duplicateBindingAnnotations(Member member, Class<? extends Annotation> a, Class<? extends Annotation> b)

public <K, V> Errors
duplicateMapKey(Key<Map<K, V>> mapKey, Multimap<K, Binding<V>> duplicates)

public Errors
public Errors
duplicateScopes(ScopeBinding existing, Class<? extends Annotation> annotationType, Scope scope)

public Errors
public Errors
public Errors
errorInUserCode(Throwable cause, String messageFormat, Object... arguments)

public Errors
public Errors
public static String
format(String messageFormat, Object... arguments)

public static void
formatSource(Formatter formatter, Object source)

public List<Message>
public static Collection<Message>
private List<Object>
public boolean
public Errors
public Errors
jitDisabled(Key<?> key)

public Errors
public Errors
public Errors
public Errors
merge(Errors moreErrors)

public Errors
public Errors
misplacedBindingAnnotation(Member member, Annotation bindingAnnotation)

public Errors
public Errors
public Errors
missingImplementation(Key<?> key)

We use a fairly generic error message here.

pack-priv <T> Errors
missingImplementationWithHint(Key<T> key, Injector injector)

Within guice's core, allow for better missing binding messages

public Errors
missingRuntimeRetention(Class<? extends Annotation> annotation)

public Errors
missingScopeAnnotation(Class<? extends Annotation> annotation)

public Errors
notASubtype(Class<?> implementationType, Class<?> type)

public Errors
public Errors
recursiveBinding(Key<?> key, Key<?> linkedKey)

public Errors
public Errors
public Errors
requestInjectionWithDifferentTypes(Object instance, TypeLiteral<?> type1, Object type1Source, TypeLiteral<?> type2)

public Errors
scopeAnnotationOnAbstractType(Class<? extends Annotation> scopeAnnotation, Class<?> type, Object source)

public Errors
scopeNotFound(Class<? extends Annotation> scopeAnnotation)

public int
size()

public Errors
public void
public void
public void
throwIfNewErrors(int expectedSize)

public void
public ErrorsException
public Errors
tooManyConstructors(Class<?> implementation)

public Errors
public Errors
withSource(Object source)

Returns an instance that uses source as a reference point for newly added errors.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

CONSTRUCTOR_RULESback to summary
private static final String CONSTRUCTOR_RULES
errorsback to summary
private List<Message> errors

null unless (root == this) and error messages exist. Never an empty list.

parentback to summary
private final Errors parent

The parent errors object. Used to obtain the chain of source objects.

rootback to summary
private final Errors root

The root errors object. Used to access the list of error messages.

sourceback to summary
private final Object source

The leaf source for errors added here.

Constructor Detail

Errorsback to summary
public Errors()
Errorsback to summary
public Errors(Object source)
Errorsback to summary
private Errors(Errors parent, Object source)

Method Detail

addMessageback to summary
public Errors addMessage(String messageFormat, Object... arguments)
addMessageback to summary
public Errors addMessage(ErrorId errorId, String messageFormat, Object... arguments)
addMessageback to summary
private Errors addMessage(ErrorId errorId, Throwable cause, String messageFormat, Object... arguments)
addMessageback to summary
public Errors addMessage(Message message)
ambiguousTypeConversionback to summary
public Errors ambiguousTypeConversion(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding a, TypeConverterBinding b)
aopDisabledback to summary
public Errors aopDisabled(InterceptorBinding binding)
atInjectRequiredback to summary
public Errors atInjectRequired(TypeLiteral<?> type)
atTargetIsMissingParameterback to summary
public Errors atTargetIsMissingParameter(Annotation bindingAnnotation, String parameterName, Class<?> clazz)
bindingAlreadySetback to summary
pack-priv Errors bindingAlreadySet(Binding<?> binding, Binding<?> original)
bindingAlreadySetback to summary
public Errors bindingAlreadySet(Key<?> key, Object source)
bindingToProviderback to summary
public Errors bindingToProvider()
cannotBindToGuiceTypeback to summary
public Errors cannotBindToGuiceType(String simpleName)
cannotInjectAbstractMethodback to summary
public Errors cannotInjectAbstractMethod(Method method)
cannotInjectFinalFieldback to summary
public Errors cannotInjectFinalField(Field field)
cannotInjectInnerClassback to summary
public Errors cannotInjectInnerClass(Class<?> type)
cannotInjectLocalClassback to summary
public Errors cannotInjectLocalClass(Class<?> type)
cannotInjectMethodWithTypeParametersback to summary
public Errors cannotInjectMethodWithTypeParameters(Method method)
cannotInjectRawMembersInjectorback to summary
public Errors cannotInjectRawMembersInjector()
cannotInjectRawProviderback to summary
public Errors cannotInjectRawProvider()
cannotInjectRawTypeLiteralback to summary
public Errors cannotInjectRawTypeLiteral()
cannotInjectTypeLiteralOfback to summary
public Errors cannotInjectTypeLiteralOf(Type unsupportedType)
checkConfigurationback to summary
pack-priv static void checkConfiguration(boolean condition, String format, Object... args)

Throws a ConfigurationException with a formatted Message if this condition is false.

checkNotNullback to summary
pack-priv static <T> T checkNotNull(T reference, String name)

Throws a ConfigurationException with an NullPointerExceptions as the cause if the given reference is null.

childBindingAlreadySetback to summary
public Errors childBindingAlreadySet(Key<?> key, Set<Object> sources)
constructorNotDefinedByTypeback to summary
public Errors constructorNotDefinedByType(Constructor<?> constructor, TypeLiteral<?> type)
conversionErrorback to summary
public Errors conversionError(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding typeConverterBinding, RuntimeException cause)
conversionTypeErrorback to summary
public Errors conversionTypeError(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding typeConverterBinding, Object converted)
convertback to summary
public static Object convert(Object o)
convertback to summary
public static Object convert(Object o, ElementSource source)
converterReturnedNullback to summary
public Errors converterReturnedNull(String stringValue, Object source, TypeLiteral<?> type, TypeConverterBinding typeConverterBinding)
duplicateBindingAnnotationsback to summary
public Errors duplicateBindingAnnotations(Member member, Class<? extends Annotation> a, Class<? extends Annotation> b)
duplicateMapKeyback to summary
public <K, V> Errors duplicateMapKey(Key<Map<K, V>> mapKey, Multimap<K, Binding<V>> duplicates)
duplicateScopeAnnotationsback to summary
public Errors duplicateScopeAnnotations(Class<? extends Annotation> a, Class<? extends Annotation> b)
duplicateScopesback to summary
public Errors duplicateScopes(ScopeBinding existing, Class<? extends Annotation> annotationType, Scope scope)
errorCheckingDuplicateBindingback to summary
public Errors errorCheckingDuplicateBinding(Key<?> key, Object source, Throwable t)
errorEnhancingClassback to summary
public Errors errorEnhancingClass(Class<?> clazz, Throwable cause)
errorInUserCodeback to summary
public Errors errorInUserCode(Throwable cause, String messageFormat, Object... arguments)
errorNotifyingTypeListenerback to summary
public Errors errorNotifyingTypeListener(TypeListenerBinding listener, TypeLiteral<?> type, Throwable cause)
exposedButNotBoundback to summary
public Errors exposedButNotBound(Key<?> key)
formatback to summary
public static String format(String messageFormat, Object... arguments)
formatSourceback to summary
public static void formatSource(Formatter formatter, Object source)
getMessagesback to summary
public List<Message> getMessages()
getMessagesFromThrowableback to summary
public static Collection<Message> getMessagesFromThrowable(Throwable throwable)
getSourcesback to summary
private List<Object> getSources()
hasErrorsback to summary
public boolean hasErrors()
jitBindingAlreadySetback to summary
public Errors jitBindingAlreadySet(Key<?> key)
jitDisabledback to summary
public Errors jitDisabled(Key<?> key)
jitDisabledInParentback to summary
public Errors jitDisabledInParent(Key<?> key)
keyNotFullySpecifiedback to summary
public Errors keyNotFullySpecified(TypeLiteral<?> typeLiteral)
mergeback to summary
public Errors merge(Collection<Message> messages)
mergeback to summary
public Errors merge(Errors moreErrors)
mergeback to summary
public Errors merge(InternalProvisionException ipe)
misplacedBindingAnnotationback to summary
public Errors misplacedBindingAnnotation(Member member, Annotation bindingAnnotation)
missingConstantValuesback to summary
public Errors missingConstantValues()
missingConstructorback to summary
public Errors missingConstructor(TypeLiteral<?> type)
missingImplementationback to summary
public Errors missingImplementation(Key<?> key)

We use a fairly generic error message here. The motivation is to share the same message for both bind time errors:

Guice.createInjector(new AbstractModule() {
  public void configure() {
    bind(Runnable.class);
  }
}
...and at provide-time errors:
Guice.createInjector().getInstance(Runnable.class);
Otherwise we need to know who's calling when resolving a just-in-time binding, which makes things unnecessarily complex.
missingImplementationWithHintback to summary
pack-priv <T> Errors missingImplementationWithHint(Key<T> key, Injector injector)

Within guice's core, allow for better missing binding messages

missingRuntimeRetentionback to summary
public Errors missingRuntimeRetention(Class<? extends Annotation> annotation)
missingScopeAnnotationback to summary
public Errors missingScopeAnnotation(Class<? extends Annotation> annotation)
notASubtypeback to summary
public Errors notASubtype(Class<?> implementationType, Class<?> type)
optionalConstructorback to summary
public Errors optionalConstructor(Constructor<?> constructor)
recursiveBindingback to summary
public Errors recursiveBinding(Key<?> key, Key<?> linkedKey)
recursiveImplementationTypeback to summary
public Errors recursiveImplementationType()
recursiveProviderTypeback to summary
public Errors recursiveProviderType()
requestInjectionWithDifferentTypesback to summary
public Errors requestInjectionWithDifferentTypes(Object instance, TypeLiteral<?> type1, Object type1Source, TypeLiteral<?> type2)
scopeAnnotationOnAbstractTypeback to summary
public Errors scopeAnnotationOnAbstractType(Class<? extends Annotation> scopeAnnotation, Class<?> type, Object source)
scopeNotFoundback to summary
public Errors scopeNotFound(Class<? extends Annotation> scopeAnnotation)
sizeback to summary
public int size()
staticInjectionOnInterfaceback to summary
public Errors staticInjectionOnInterface(Class<?> clazz)
throwConfigurationExceptionIfErrorsExistback to summary
public void throwConfigurationExceptionIfErrorsExist()
throwCreationExceptionIfErrorsExistback to summary
public void throwCreationExceptionIfErrorsExist()
throwIfNewErrorsback to summary
public void throwIfNewErrors(int expectedSize) throws ErrorsException
throwProvisionExceptionIfErrorsExistback to summary
public void throwProvisionExceptionIfErrorsExist()
toExceptionback to summary
public ErrorsException toException()
tooManyConstructorsback to summary
public Errors tooManyConstructors(Class<?> implementation)
voidProviderMethodback to summary
public Errors voidProviderMethod()
withSourceback to summary
public Errors withSource(Object source)

Returns an instance that uses source as a reference point for newly added errors.