Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
By 1984 users had numerous productivity packages to choose from. They could crunch numbers, write proposals, and query databases with near complete abandon. There was only one small problem. Most of the available applications sported only primitive data sharing capabilities (if they offered support for data sharing at all).
The consequence? In order to create a compound document composed of text, graphs, tables, and charts, a user had to cut and paste -- and I mean literally cut and paste.
In January 1984, Apple launched the Macintosh. Compared with its competitors, the Mac had several obvious advantages:
One such shared resource was the clipboard. The clipboard allowed users to move data between applications by cutting or copying the data from one document (into the clipboard) and pasting it into another (from the clipboard).
The clipboard turned out to be a very powerful data transfer model. It worked so well, in fact, that to this day every GUI platform supports some form of clipboard functionality.
In order to be successful, Java can provide no less.
The architects of the Java class library had several requirements in mind when they designed the classes that implement data transfer.
First, the mechanism should be general enough to handle all current and any future data-transfer models. In particular, it should support both the clipboard model and the drag-and-drop model, using the same underlying machinery. Second, it should allow the programmer to create and transfer data types beyond those known or envisioned by the architects themselves. Finally, it should allow data transfer between Java applications and non-Java applications.
Let's take a look at what they came up with.
The data that applications transfer comes in many types -- text data and image data being two of the most obvious types. Each of these data types can appear in a number of different formats (or flavors, to use the term the Java architects selected).
Let's consider why a data type may exist in many flavors.
A application typically stores and transfers data in a data format designed to support the features the application provides. For example, a word processing application must store text as well as embedded formatting instructions, while a text editor stores only text. Each application's preferred storage format reflects this fact.
Transferable interface http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.Transferable.html
DataFlavor class http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.DataFlavor.html
Clipboard class http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.ClipboardOwner.html
ClipboardOwner class http://www.javasoft.com/products/jdk/1.1/docs/api/java.awt.datatransfer.Clipboardowner.html
java.io package -- class Reader and class Writer -- to filter out unwanted e-mail.