All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.monte.media.gui.datatransfer.PlainTextTransferable Maven / Gradle / Ivy

There is a newer version: 1.1
Show newest version
/*
 * @(#)PlainTextTransferable.java  1.1  2009-09-01
 *
 * Copyright (c) 2007-2009 Werner Randelshofer, Goldau, Switzerland.
 * All rights reserved.
 *
 * You may not use, copy or modify this file, except in compliance with the
 * license agreement you entered into with Werner Randelshofer.
 * For details see accompanying license terms.
 */

package org.monte.media.gui.datatransfer;

import java.awt.datatransfer.*;
import java.io.*;
/**
 * PlainTextTransferable.
 * 

* Note: This transferable should (almost) always be used in conjunction with * PlainTextTransferable. * * @author Werner Randelshofer * @version 1.1 2009-09-01 Replaced use of deprecated class StringBufferInputStream. *
1.0 22. August 2007 Created. */ public class PlainTextTransferable extends AbstractTransferable { private String plainText; public PlainTextTransferable(String plainText) { this(getDefaultFlavors(), plainText); } public PlainTextTransferable(DataFlavor flavor, String plainText) { this(new DataFlavor[] { flavor }, plainText); } public PlainTextTransferable(DataFlavor[] flavors, String plainText) { super(flavors); this.plainText = plainText; } public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException { if (! isDataFlavorSupported(flavor)) { throw new UnsupportedFlavorException(flavor); } plainText = (plainText == null) ? "" : plainText; if (String.class.equals(flavor.getRepresentationClass())) { return plainText; } else if (Reader.class.equals(flavor.getRepresentationClass())) { return new StringReader(plainText); } else if (InputStream.class.equals(flavor.getRepresentationClass())) { String charsetName = flavor.getParameter("charset"); return new ByteArrayInputStream(plainText.getBytes(charsetName==null?"UTF-8":charsetName)); //return new StringBufferInputStream(plainText); } // fall through to unsupported throw new UnsupportedFlavorException(flavor); } protected static DataFlavor[] getDefaultFlavors() { try { return new DataFlavor[] { new DataFlavor("text/plain;class=java.lang.String"), new DataFlavor("text/plain;class=java.io.Reader"), new DataFlavor("text/plain;charset=unicode;class=java.io.InputStream") }; } catch (ClassNotFoundException cle) { InternalError ie = new InternalError( "error initializing PlainTextTransferable"); ie.initCause(cle); throw ie; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy