package com.project.website.canvas.client.canvastools.image; import com.project.website.canvas.client.canvastools.base.CanvasToolFactoryBase; import com.project.website.canvas.client.shared.ImageOptionTypes; import com.project.website.canvas.client.shared.ImageOptionsProviderUtils; import com.project.website.canvas.client.shared.searchProviders.SearchProviders; import com.project.website.canvas.shared.data.ImageData; public class ImageToolFactory extends CanvasToolFactoryBase<ImageTool> { public static final String UNIQUE_ID = "ImageToolFactory"; private final ImageToolOptionsProvider _optionsProvider = new ImageToolOptionsProvider(); public static final ImageToolFactory INSTANCE = new ImageToolFactory(); public ImageTool create() { ImageTool imageTool = new ImageTool(SearchProviders.getDefaultImageSearchProviders()); imageTool.setValue(this.createDefaultImageData()); return imageTool; } protected ImageData createDefaultImageData() { ImageData imageData = new ImageData(UNIQUE_ID); imageData.imageInformation.options = ImageOptionsProviderUtils.getImageOptions(this._optionsProvider, ImageOptionTypes.OriginalSize); return imageData; } @Override public String getFactoryId() { return ImageToolFactory.UNIQUE_ID; } }