package core.aws.remote; import core.aws.resource.Resource; import core.aws.resource.Resources; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; import java.util.stream.Stream; /** * @author neo */ public abstract class Loader { protected final Logger logger = LoggerFactory.getLogger(getClass()); protected final Resources resources; protected final List<EnvTag> tags; public Loader(Resources resources, List<EnvTag> tags) { this.resources = resources; this.tags = tags; } public Stream<EnvTag> all(final Class<? extends Resource> resourceClass) { return tags.stream().filter(tag -> tag.resourceClass.equals(resourceClass)); } public abstract void load(); }