Java Doc for StreamingDataHandler.java in  » XML » stax-ex » org » jvnet » staxex » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » XML » stax ex » org.jvnet.staxex 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   javax.activation.DataHandler
      org.jvnet.staxex.StreamingDataHandler

StreamingDataHandler
abstract public class StreamingDataHandler extends DataHandler (Code)
DataHandler extended to offer better buffer management in a streaming environment.

DataHandler is used commonly as a data format across multiple systems (such as JAXB/WS.) Unfortunately, DataHandler has the semantics of "read as many times as you want", so this makes it difficult for involving parties to handle a BLOB in a streaming fashion.

StreamingDataHandler solves this problem by offering methods that enable faster bulk "consume once" read operation.
author:
   Jitendra Kotamraju




Constructor Summary
public  StreamingDataHandler(Object o, String s)
    
public  StreamingDataHandler(URL url)
    
public  StreamingDataHandler(DataSource dataSource)
    

Method Summary
abstract public  voidclose()
     Releases any resources associated with this DataHandler.
abstract public  voidmoveTo(File dst)
     Obtains the BLOB into a specified file.

Semantically, this method is roughly equivalent to the following code, except that the actual implementation is likely to be a lot faster.

 InputStream i = getInputStream();
 OutputStream o = new FileOutputStream(dst);
 int ch;
 while((ch=i.read())!=-1)  o.write(ch);
 i.close();
 o.close();
 

The main motivation behind this method is that often DataHandler that reads data from a streaming source will use a temporary file as a data store to hold data (think of commons-fileupload.) In such case this method can be as fast as calling File.renameTo(File) .

This method shouldn't be called when there are any open streams.

After this method is invoked, StreamingDataHandler.readOnce() and StreamingDataHandler.getInputStream() will simply open the destination file you've specified as an argument.

abstract public  InputStreamreadOnce()
     Works like StreamingDataHandler.getInputStream() except that this method can be invoked only once.

This is used as a signal from the caller that there will be no further StreamingDataHandler.getInputStream() invocation nor StreamingDataHandler.readOnce() invocation on this object (which would result in IOException .)

When DataHandler is backed by a streaming BLOB (such as an attachment in a web service read from the network), this allows the callee to avoid unnecessary buffering.

Note that it is legal to call StreamingDataHandler.getInputStream() multiple times and then call StreamingDataHandler.readOnce() afterward. Streams created such a way can be read in any order — there's no requirement that streams created earlier must be read first. always non-null.



Constructor Detail
StreamingDataHandler
public StreamingDataHandler(Object o, String s)(Code)



StreamingDataHandler
public StreamingDataHandler(URL url)(Code)



StreamingDataHandler
public StreamingDataHandler(DataSource dataSource)(Code)




Method Detail
close
abstract public void close() throws IOException(Code)
Releases any resources associated with this DataHandler. (such as an attachment in a web service read from a temp file will be deleted.) After calling this method, it is illegal to call any other methods.



moveTo
abstract public void moveTo(File dst) throws IOException(Code)
Obtains the BLOB into a specified file.

Semantically, this method is roughly equivalent to the following code, except that the actual implementation is likely to be a lot faster.

 InputStream i = getInputStream();
 OutputStream o = new FileOutputStream(dst);
 int ch;
 while((ch=i.read())!=-1)  o.write(ch);
 i.close();
 o.close();
 

The main motivation behind this method is that often DataHandler that reads data from a streaming source will use a temporary file as a data store to hold data (think of commons-fileupload.) In such case this method can be as fast as calling File.renameTo(File) .

This method shouldn't be called when there are any open streams.

After this method is invoked, StreamingDataHandler.readOnce() and StreamingDataHandler.getInputStream() will simply open the destination file you've specified as an argument. So if you further move the file or delete this file, those methods will behave in undefined fashion. For a simliar reason, calling this method multiple times will cause undefined behavior.




readOnce
abstract public InputStream readOnce() throws IOException(Code)
Works like StreamingDataHandler.getInputStream() except that this method can be invoked only once.

This is used as a signal from the caller that there will be no further StreamingDataHandler.getInputStream() invocation nor StreamingDataHandler.readOnce() invocation on this object (which would result in IOException .)

When DataHandler is backed by a streaming BLOB (such as an attachment in a web service read from the network), this allows the callee to avoid unnecessary buffering.

Note that it is legal to call StreamingDataHandler.getInputStream() multiple times and then call StreamingDataHandler.readOnce() afterward. Streams created such a way can be read in any order — there's no requirement that streams created earlier must be read first. always non-null. Represents the content of this BLOB.The returned stream is generally not buffered, so forbetter performance read in a big batch or wrap this intoBufferedInputStream.
throws:
  IOException - if any i/o error




Methods inherited from javax.activation.DataHandler
public CommandInfo[] getAllCommands()(Code)(Java Doc)
public Object getBean(CommandInfo cmdinfo)(Code)(Java Doc)
public CommandInfo getCommand(String cmdName)(Code)(Java Doc)
public Object getContent() throws IOException(Code)(Java Doc)
public String getContentType()(Code)(Java Doc)
public DataSource getDataSource()(Code)(Java Doc)
public InputStream getInputStream() throws IOException(Code)(Java Doc)
public String getName()(Code)(Java Doc)
public OutputStream getOutputStream() throws IOException(Code)(Java Doc)
public CommandInfo[] getPreferredCommands()(Code)(Java Doc)
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException(Code)(Java Doc)
public synchronized DataFlavor[] getTransferDataFlavors()(Code)(Java Doc)
public boolean isDataFlavorSupported(DataFlavor flavor)(Code)(Java Doc)
public synchronized void setCommandMap(CommandMap commandMap)(Code)(Java Doc)
public static synchronized void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)(Code)(Java Doc)
public void writeTo(OutputStream os) throws IOException(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.