Class InternalProvisionException

  • All Implemented Interfaces:
    java.io.Serializable

    public final class InternalProvisionException
    extends java.lang.Exception
    A checked exception for provisioning errors.

    This is the internal dual of ProvisionException, similar to the relationship between ConfigurationException and ErrorsException. This is useful for several reasons:

    • Since it is a checked exception, we get some assistance from the java compiler in ensuring that we correctly handle it everywhere. ProvisionException is unchecked.
    • Since this is an internal package, we can add useful construction and mutation APIs that would be undesirable in a public supported API.

    This exception will be thrown when errors are encountered during provisioning, ErrorsException will continue to be used for errors that are encountered during provisioning and both make use of the Message as the core model.

    NOTE: this object stores a list of messages but in the most common case the cardinality will be 1. The only time that multiple errors might be reported via this mechanism is when errorInUserCode(com.google.inject.internal.ErrorId, java.lang.Throwable, java.lang.String, java.lang.Object...) is called with an exception that holds multiple errors (like ProvisionException).

    See Also:
    Serialized Form
    • Field Detail

      • logger

        private static final java.util.logging.Logger logger
      • warnedDependencies

        private static final java.util.Set<Dependency<?>> warnedDependencies
      • sourcesToPrepend

        private final java.util.List<java.lang.Object> sourcesToPrepend
      • errors

        private final com.google.common.collect.ImmutableList<Message> errors
    • Constructor Detail

      • InternalProvisionException

        InternalProvisionException​(Message error)
      • InternalProvisionException

        private InternalProvisionException​(java.lang.Iterable<Message> errors)