TransferableDBMetaTreeNodes.java :  » Database-ORM » db-ojb » org » apache » ojb » tools » mapping » reversedb2 » datatransfer » Java Open Source

Java Open Source » Database ORM » db ojb 
db ojb » org » apache » ojb » tools » mapping » reversedb2 » datatransfer » TransferableDBMetaTreeNodes.java
/* Copyright 2002-2005 The Apache Software Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.ojb.tools.mapping.reversedb2.datatransfer;
import java.awt.datatransfer.*;
import org.apache.ojb.tools.mapping.reversedb2.dbmetatreemodel.*;

/**
 *
 * @author  Administrator
 */
public class TransferableDBMetaTreeNodes implements java.awt.datatransfer.Transferable, java.io.Serializable
{
    public static DataFlavor DBMETATABLENODE_FLAVOR_REMOTE;
    public static DataFlavor DBMETATABLENODE_FLAVOR_LOCAL;
//    public static DataFlavor DBMETATABLENODE_FLAVOR_SERIALIZED;
//        = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + "; class=org.apache.ojb.tools.mapping.reversedb2.dbmetatreemodel.ReverseDbTreeNode[]", "Reverse Engineered Database Objects");
//          = new DataFlavor(org.apache.ojb.tools.mapping.reversedb2.dbmetatreemodel.ReverseDbTreeNode[].class, "DB");
//          = new DataFlavor(DataFlavor.javaRemoteObjectMimeType + ";class=org.apache.ojb.tools.mapping.reversedb2.dbmetatreemodel.ReverseDbTreeNode[]");
    
    // private static final DataFlavor[] _flavors = {DBMETABLENODE_FLAVOR};
    private static DataFlavor[] _flavors;    
    
    static
    {
        try
        {
            // System.err.println(org.apache.ojb.tools.mapping.reversedb2.dbmetatreemodel.ReverseDbTreeNode[].class.getName());
            // DBMETATABLENODE_FLAVOR_REMOTE     = new DataFlavor(org.apache.ojb.tools.mapping.reversedb2.datatransfer.TransferableDBMetaTreeNodes.ReverseDbTreeNodesContainer.class, "OJB Reversedb Database objects");
            DBMETATABLENODE_FLAVOR_REMOTE     = new DataFlavor(DataFlavor.javaRemoteObjectMimeType + ";class=org.apache.ojb.tools.mapping.reversedb2.datatransfer.TransferableDBMetaTreeNodes$ReverseDbTreeNodesContainer", "OJB Reversedb Database objects");
            DBMETATABLENODE_FLAVOR_LOCAL      = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType  + ";class=org.apache.ojb.tools.mapping.reversedb2.datatransfer.TransferableDBMetaTreeNodes$ReverseDbTreeNodesContainer");
            // DBMETATABLENODE_FLAVOR_SERIALIZED = new DataFlavor(DataFlavor.javaSerializedObjectMimeType + ";class=org.apache.ojb.tools.mapping.reversedb2.datatransfer.TransferableDBMetaTreeNodes$ReverseDbTreeNodesContainer");
            // DBMETATABLENODE_FLAVOR_SERIALIZED = DBMETATABLENODE_FLAVOR_REMOTE;
            _flavors = new DataFlavor[] {DBMETATABLENODE_FLAVOR_LOCAL, DBMETATABLENODE_FLAVOR_REMOTE}; //, DBMETATABLENODE_FLAVOR_SERIALIZED};
        }
        catch (ClassNotFoundException cce)
        {
            DBMETATABLENODE_FLAVOR_REMOTE     = null;
            DBMETATABLENODE_FLAVOR_LOCAL      = null;
//            DBMETATABLENODE_FLAVOR_SERIALIZED = null;
            _flavors = null;
            cce.printStackTrace();
        }
    }
    
// org.apache.ojb.tools.mapping.reversedb2.dbmetatreemodel.ReverseDbTreeNode[]


    /** Creates a new instance of TransferableDBMetaTable */
    
    // private ReverseDbTreeNode[] selectedNodes;
    private ReverseDbTreeNodesContainer nodesContainer = new ReverseDbTreeNodesContainer();
    
    public TransferableDBMetaTreeNodes (ReverseDbTreeNode[] pselectedNodes)
    {
        nodesContainer.selectedNodes = pselectedNodes;
    }
    
    public Object getTransferData(java.awt.datatransfer.DataFlavor dataFlavor)
        throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException
    {
        if (   dataFlavor.equals(DBMETATABLENODE_FLAVOR_REMOTE) 
            || dataFlavor.equals(DBMETATABLENODE_FLAVOR_LOCAL)
           )
//            || dataFlaCvor.isMimeTypeEqual(DBMETATABLENODE_FLAVOR_SERIALIZED))
            return nodesContainer.selectedNodes;
        else
            throw new UnsupportedFlavorException(dataFlavor);
    }
    
    public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
    {
        return _flavors;
    }
    
    public boolean isDataFlavorSupported(DataFlavor flavor)
    {
        boolean b = java.util.Arrays.asList(_flavors).contains(flavor);
        System.err.println("TransferableDBMetaTreeNodes.isDataFlavorSupported " + flavor + " returns " + b);
        return java.util.Arrays.asList(_flavors).contains(flavor);
    }        
    
    public static class ReverseDbTreeNodesContainer
        implements java.io.Serializable
    {
        private ReverseDbTreeNode[] selectedNodes;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.