Пример #1
0
  /**
   * @param transferData
   * @see org.eclipse.swt.dnd.Transfer#isSupportedType(org.eclipse.swt.dnd.TransferData)
   * @return
   */
  public boolean isSupportedType(TransferData transferData) {
    if (bCheckingString) return true;

    if (transferData == null) return false;

    // TODO: Check if it's a string list of URLs

    // String -- Check if URL, skip to next if not
    URLType url = null;

    if (DEBUG) System.out.println("Checking if type #" + transferData.type + " is URL");

    bCheckingString = true;
    try {
      byte[] buffer = (byte[]) super.nativeToJava(transferData);
      url = bytebufferToJava(buffer);
    } catch (Exception e) {
      Debug.out(e);
    } finally {
      bCheckingString = false;
    }

    if (url == null) {
      if (DEBUG) System.out.println("no, Null URL for type #" + transferData.type);
      return false;
    }

    if (UrlUtils.isURL(url.linkURL, false)) {
      if (DEBUG) System.out.println("Yes, " + url.linkURL + " of type #" + transferData.type);
      return true;
    }

    if (DEBUG) System.out.println("no, " + url.linkURL + " not URL for type #" + transferData.type);
    return false;
  }