Since 2.4 we have:

public interface MessageSupplier {

    /**
     * Gets a Message.
     *
     * @return a Message
     */
    Message get();
}

and

public interface Supplier<T> {

    /**
     * Gets a value.
     *
     * @return a value
     */
    T get();
}

Which smells fishy to me. Instead I propose:

public interface MessageSupplier extends Supplier<Message> {
    // empty
}

Whether or not we do the above, we can replace:

traceExit(R, Supplier<? extends Message>)

with:

traceExit(R, MessageSupplier)

which we already have.

A test search shows the above as the only instance of "Supplier<? extends
Message>" in our Java files.

Thoughts?

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to