/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.demo.imageservice; import java.awt.image.BufferedImage; import java.io.IOException; import org.demo.fileservice.DocumentWriter; import org.demo.fileservice.Thumbnail; import org.openide.filesystems.FileObject; import org.openide.loaders.DataNode; import org.openide.loaders.DataObjectExistsException; import org.openide.loaders.MultiDataObject; import org.openide.loaders.MultiFileLoader; import org.openide.nodes.Node; import org.openide.nodes.Children; import org.openide.util.Lookup; public class ImagePngDataObject extends MultiDataObject implements Thumbnail,DocumentWriter { public static final String EXTENSION = "png"; public static final String DESCRIPTION = "Portable Network Graphics"; public ImagePngDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException, IOException { super(pf, loader); } @Override protected Node createNodeDelegate() { return new DataNode(this, Children.LEAF, getLookup()); } @Override public Lookup getLookup() { return getCookieSet().getLookup(); } @Override public BufferedImage getThumbnail() { return ImageIOUtils.getImage(getPrimaryFile()); } @Override public void write(BufferedImage source) { ImageIOUtils.writeImage(getPrimaryFile(), EXTENSION, source); } @Override public String getExtension() { return EXTENSION; } }