Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * EtcLoaderWrapper.java criado em 27/12/2013
  * 
  * Propriedade de Objectos Fábrica de Software LTDA.
  * Reprodução parcial ou total proibida.
  */
 package br.com.objectos.way.etc;
 

Author(s):
marcio.endo@objectos.com.br (Marcio Endo)
abstract class EtcLoaderWrapper<T> {
  private EtcLoaderWrapper() {
  }
  public static <T> EtcLoaderWrapper<T> forInstance(EtcLoader<T> instance) {
    return new InstanceBound<T>(instance);
  }
  public static <T> EtcLoaderWrapper<T> forType(Class<? extends EtcLoader<T>> type) {
    return new TypeBound<T>(type);
  }
  abstract T load(Injector injectorMapping mapping);
  private static class InstanceBound<T> extends EtcLoaderWrapper<T> {
    private final EtcLoader<T> loader;
    public InstanceBound(EtcLoader<T> loader) {
      this. = loader;
    }
    @Override
    T load(Injector injectorMapping mapping) {
      return .load(mapping);
    }
  }
  private static class TypeBound<T> extends EtcLoaderWrapper<T> {
    private final Class<? extends EtcLoader<T>> type;
    public TypeBound(Class<? extends EtcLoader<T>> type) {
      this. = type;
    }
    @Override
    T load(Injector injectorMapping mapping) {
      return injector.getInstance().load(mapping);
    }
  }
New to GrepCode? Check out our FAQ X