Class Transfer

    • Constructor Detail

      • Transfer

        public Transfer()
    • Method Detail

      • getSupportedTypes

        public abstract TransferData[] getSupportedTypes()
        Returns a list of the platform specific data types that can be converted using this transfer agent.

        Only the data type fields of the TransferData objects are filled in.

        Returns:
        a list of the data types that can be converted using this transfer agent
      • isSupportedType

        public abstract boolean isSupportedType​(TransferData transferData)
        Returns true if the TransferData data type can be converted using this transfer agent, or false otherwise (including if transferData is null).
        Parameters:
        transferData - a platform specific description of a data type; only the data type fields of the TransferData object need to be filled in
        Returns:
        true if the transferData data type can be converted using this transfer agent
      • getTypeIds

        protected abstract int[] getTypeIds()
        Returns the platform specific ids of the data types that can be converted using this transfer agent.
        Returns:
        the platform specific ids of the data types that can be converted using this transfer agent
      • getTypeNames

        protected abstract String[] getTypeNames()
        Returns the platform specific names of the data types that can be converted using this transfer agent.
        Returns:
        the platform specific names of the data types that can be converted using this transfer agent.
      • javaToNative

        protected abstract void javaToNative​(Object object,
                                             TransferData transferData)
        Converts a java representation of data to a platform specific representation of the data.

        On a successful conversion, the transferData.result field will be set as follows:

        • Windows: COM.S_OK
        • GTK: 1

        If this transfer agent is unable to perform the conversion, the transferData.result field will be set to a failure value as follows:

        • Windows: COM.DV_E_TYMED or COM.E_FAIL
        • GTK: 0
        Parameters:
        object - a java representation of the data to be converted; the type of Object that is passed in is dependent on the Transfer subclass.
        transferData - an empty TransferData object; this object will be filled in on return with the platform specific representation of the data
        Throws:
        SWTException -
        • ERROR_INVALID_DATA - if object does not contain data in a valid format or is null
      • nativeToJava

        protected abstract Object nativeToJava​(TransferData transferData)
        Converts a platform specific representation of data to a java representation.
        Parameters:
        transferData - the platform specific representation of the data to be converted
        Returns:
        a java representation of the converted data if the conversion was successful; otherwise null. If transferData is null then null is returned. The type of Object that is returned is dependent on the Transfer subclass.
      • registerType

        public static int registerType​(String formatName)
        Registers a name for a data type and returns the associated unique identifier.

        You may register the same type more than once, the same unique identifier will be returned if the type has been previously registered.

        Note: On windows, do not call this method with pre-defined Clipboard Format types such as CF_TEXT or CF_BITMAP because the pre-defined identifier will not be returned

        Parameters:
        formatName - the name of a data type
        Returns:
        the unique identifier associated with this data type
      • validate

        protected boolean validate​(Object object)
        Test that the object is of the correct format for this Transfer class.
        Parameters:
        object - a java representation of the data to be converted
        Returns:
        true if object is of the correct form for this transfer type
        Since:
        3.1