Package com.dci.intellij.dbn.common.util

Source Code of com.dci.intellij.dbn.common.util.ClipboardUtil$XmlContent

package com.dci.intellij.dbn.common.util;

import org.jetbrains.annotations.Nullable;

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;

public class ClipboardUtil {

    public static XmlContent createXmlContent(String text) {
        return new XmlContent(text);
    }

    public static class XmlContent implements Transferable {
        private DataFlavor[] dataFlavors;
        private String content;

        public XmlContent(String text) {
            content = text;
            try {
                dataFlavors = new DataFlavor[3];
                dataFlavors[0] = new DataFlavor("text/xml;class=java.lang.String");
                dataFlavors[1] = new DataFlavor("text/rtf;class=java.lang.String");
                dataFlavors[2] = new DataFlavor("text/plain;class=java.lang.String");

            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }

        public DataFlavor[] getTransferDataFlavors() {
            return dataFlavors;
        }

        public boolean isDataFlavorSupported(DataFlavor flavor) {
            return
                    "text/xml".equals(flavor.getMimeType()) ||
                            "text/rtf".equals(flavor.getMimeType()) ||
                            "text/plain".equals(flavor.getMimeType());
        }

        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
            return content;
        }
    }

    @Nullable
    public static String getStringContent() {
        try {
            Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
            Object data = clipboard.getData(DataFlavor.stringFlavor);
            if (data instanceof String) {
                return (String) data;
            } else {
                return null;
            }

        } catch (Exception e) {
            return null;
        }
    }
}
TOP

Related Classes of com.dci.intellij.dbn.common.util.ClipboardUtil$XmlContent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.