// Path: src/main/java/com/lumata/lib/lupa/ReadableResource.java
// public interface ReadableResource {
// 
// 	URL getUrl();
// 
// 	/**
// 	 * Move the current URL to the redirection path and set the specified url as the actual resource url.
// 	 * 
// 	 * @param url
// 	 *            the redirectionUrl
// 	 */
// 	void makeRedirection(URL url);
// 
// 	Optional<URL[]> getRedirectionPath();
// 
// 	Optional<MediaType> getContentType();
// 
// 	InputStream read() throws IOException;
// 
// 	void discard();
// }
// 
// Path: src/main/java/com/lumata/lib/lupa/ServiceLocator.java
// public interface ServiceLocator {
// 
// 	Scraper getScraper();
// 
// 	HttpService getHttpService();
// 
// 	ImageService getImageService();
// }
// 
// Path: src/main/java/com/lumata/lib/lupa/content/Image.java
// public class Image extends WebContent {
// 
// 	private Integer width, height;
// 
// 	public Image(String url, String... aliasUrls) {
// 		super(url, aliasUrls);
// 	}
// 
// 	/**
// 	 * @return the width in pixels
// 	 */
// 	public Integer getWidth() {
// 		return width;
// 	}
// 
// 	/**
// 	 * @param width
// 	 *            the width in pixels to set
// 	 */
// 	public void setWidth(Integer width) {
// 		this.width = width;
// 	}
// 
// 	/**
// 	 * @return the height in pixels
// 	 */
// 	public Integer getHeight() {
// 		return height;
// 	}
// 
// 	/**
// 	 * @param height
// 	 *            the height in pixels to set
// 	 */
// 	public void setHeight(Integer height) {
// 		this.height = height;
// 	}
// 
// 	@Override
// 	public Type getType() {
// 		return Type.IMAGE;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return toStringHelper(this).add("with", width).add("height", height).toString();
// 	}
// }


import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.lumata.lib.lupa.ReadableResource;
import com.lumata.lib.lupa.ServiceLocator;
import com.lumata.lib.lupa.content.Image;

package com.lumata.lib.lupa.extractor.internal;




public class ImageExtractor extends AbstractExtractor<Image> {

	private static final Logger LOG = LoggerFactory.getLogger(ImageExtractor.class);

	@Override

// Path: src/main/java/com/lumata/lib/lupa/ReadableResource.java
// public interface ReadableResource {
// 
// 	URL getUrl();
// 
// 	/**
// 	 * Move the current URL to the redirection path and set the specified url as the actual resource url.
// 	 * 
// 	 * @param url
// 	 *            the redirectionUrl
// 	 */
// 	void makeRedirection(URL url);
// 
// 	Optional<URL[]> getRedirectionPath();
// 
// 	Optional<MediaType> getContentType();
// 
// 	InputStream read() throws IOException;
// 
// 	void discard();
// }
// 
// Path: src/main/java/com/lumata/lib/lupa/ServiceLocator.java
// public interface ServiceLocator {
// 
// 	Scraper getScraper();
// 
// 	HttpService getHttpService();
// 
// 	ImageService getImageService();
// }
// 
// Path: src/main/java/com/lumata/lib/lupa/content/Image.java
// public class Image extends WebContent {
// 
// 	private Integer width, height;
// 
// 	public Image(String url, String... aliasUrls) {
// 		super(url, aliasUrls);
// 	}
// 
// 	/**
// 	 * @return the width in pixels
// 	 */
// 	public Integer getWidth() {
// 		return width;
// 	}
// 
// 	/**
// 	 * @param width
// 	 *            the width in pixels to set
// 	 */
// 	public void setWidth(Integer width) {
// 		this.width = width;
// 	}
// 
// 	/**
// 	 * @return the height in pixels
// 	 */
// 	public Integer getHeight() {
// 		return height;
// 	}
// 
// 	/**
// 	 * @param height
// 	 *            the height in pixels to set
// 	 */
// 	public void setHeight(Integer height) {
// 		this.height = height;
// 	}
// 
// 	@Override
// 	public Type getType() {
// 		return Type.IMAGE;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return toStringHelper(this).add("with", width).add("height", height).toString();
// 	}
// }


// Path: src/main/java/com/lumata/lib/lupa/extractor/internal/ImageExtractor.java
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.lumata.lib.lupa.ReadableResource;
import com.lumata.lib.lupa.ServiceLocator;
import com.lumata.lib.lupa.content.Image;

package com.lumata.lib.lupa.extractor.internal;




public class ImageExtractor extends AbstractExtractor<Image> {

	private static final Logger LOG = LoggerFactory.getLogger(ImageExtractor.class);

	@Override

	public Image extractContent(ReadableResource resource, ServiceLocator serviceLocator) throws IOException {
