/// <summary> /// Returns the <code>Transferable</code>'s data in the requested /// <code>DataFlavor</code> if possible. If the desired flavor is /// <code>DataFlavor.stringFlavor</code>, or an equivalent flavor, /// the <code>String</code> representing the selection is /// returned. If the desired flavor is /// <code>DataFlavor.plainTextFlavor</code>, /// or an equivalent flavor, a <code>Reader</code> is returned. /// <b>Note:</b> The behavior of this method for /// <code>DataFlavor.plainTextFlavor</code> /// and equivalent <code>DataFlavor</code>s is inconsistent with the /// definition of <code>DataFlavor.plainTextFlavor</code>. /// </summary> /// <param name="flavor"> the requested flavor for the data </param> /// <returns> the data in the requested flavor, as outlined above </returns> /// <exception cref="UnsupportedFlavorException"> if the requested data flavor is /// not equivalent to either <code>DataFlavor.stringFlavor</code> /// or <code>DataFlavor.plainTextFlavor</code> </exception> /// <exception cref="IOException"> if an IOException occurs while retrieving the data. /// By default, StringSelection never throws this exception, but a /// subclass may. </exception> /// <exception cref="NullPointerException"> if flavor is <code>null</code> </exception> /// <seealso cref= java.io.Reader </seealso> //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException public virtual Object GetTransferData(DataFlavor flavor) { // JCK Test StringSelection0007: if 'flavor' is null, throw NPE if (flavor.Equals(Flavors[STRING])) { return((Object)Data); } else if (flavor.Equals(Flavors[PLAIN_TEXT])) { return(new StringReader(Data == null ? "" : Data)); } else { throw new UnsupportedFlavorException(flavor); } }
/// <summary> /// Returns whether the requested flavor is supported by this /// <code>Transferable</code>. /// </summary> /// <param name="flavor"> the requested flavor for the data </param> /// <returns> true if <code>flavor</code> is equal to /// <code>DataFlavor.stringFlavor</code> or /// <code>DataFlavor.plainTextFlavor</code>; false if <code>flavor</code> /// is not one of the above flavors </returns> /// <exception cref="NullPointerException"> if flavor is <code>null</code> </exception> public virtual bool IsDataFlavorSupported(DataFlavor flavor) { // JCK Test StringSelection0003: if 'flavor' is null, throw NPE for (int i = 0; i < Flavors.Length; i++) { if (flavor.Equals(Flavors[i])) { return(true); } } return(false); }