More precise Builder generics

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=79430607
This commit is contained in:
ejona 2014-11-07 10:28:47 -08:00 committed by Eric Anderson
parent ba653d4bd0
commit ff669ac9c2
3 changed files with 3 additions and 3 deletions

View File

@ -14,7 +14,7 @@ import javax.annotation.Nullable;
* *
* @param <BuilderT> The concrete type of this builder. * @param <BuilderT> The concrete type of this builder.
*/ */
public abstract class AbstractChannelBuilder<BuilderT extends AbstractChannelBuilder<?>> public abstract class AbstractChannelBuilder<BuilderT extends AbstractChannelBuilder<BuilderT>>
extends AbstractServiceBuilder<ChannelImpl, BuilderT> { extends AbstractServiceBuilder<ChannelImpl, BuilderT> {
@Override @Override

View File

@ -11,7 +11,7 @@ import java.util.concurrent.ExecutorService;
* *
* @param <BuilderT> The concrete type for this builder. * @param <BuilderT> The concrete type for this builder.
*/ */
public abstract class AbstractServerBuilder<BuilderT extends AbstractServerBuilder<?>> public abstract class AbstractServerBuilder<BuilderT extends AbstractServerBuilder<BuilderT>>
extends AbstractServiceBuilder<ServerImpl, BuilderT> { extends AbstractServiceBuilder<ServerImpl, BuilderT> {
private final HandlerRegistry registry; private final HandlerRegistry registry;

View File

@ -23,7 +23,7 @@ import javax.annotation.Nullable;
* @param <BuilderT> The concrete type of this builder. * @param <BuilderT> The concrete type of this builder.
*/ */
abstract class AbstractServiceBuilder<ProductT extends Service, abstract class AbstractServiceBuilder<ProductT extends Service,
BuilderT extends AbstractServiceBuilder<?, ?>> { BuilderT extends AbstractServiceBuilder<ProductT, BuilderT>> {
private static final Resource<ExecutorService> DEFAULT_EXECUTOR = private static final Resource<ExecutorService> DEFAULT_EXECUTOR =
new Resource<ExecutorService>() { new Resource<ExecutorService>() {