Package org.apache.cxf.attachment
Class LazyDataSource
- java.lang.Object
-
- org.apache.cxf.attachment.LazyDataSource
-
- All Implemented Interfaces:
DataSource
public class LazyDataSource extends Object implements DataSource
A DataSource which will search through a Collection of attachments so as to lazily load the attachment from the collection. This allows streaming attachments with databinding toolkits like JAXB.
-
-
Constructor Summary
Constructors Constructor Description LazyDataSource(String id, Collection<Attachment> attachments)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetContentType()This method returns the MIME type of the data in the form of a string.DataSourcegetDataSource()InputStreamgetInputStream()This method returns anInputStreamrepresenting the data and throws the appropriate exception if it can not do so.StringgetName()Return the name of this object where the name of the object is dependant on the nature of the underlying objects.OutputStreamgetOutputStream()This method returns anOutputStreamwhere the data can be written and throws the appropriate exception if it can not do so.voidsetDataSource(DataSource dataSource)
-
-
-
Constructor Detail
-
LazyDataSource
public LazyDataSource(String id, Collection<Attachment> attachments)
-
-
Method Detail
-
getContentType
public String getContentType()
Description copied from interface:DataSourceThis method returns the MIME type of the data in the form of a string. It should always return a valid type. It is suggested that getContentType return "application/octet-stream" if the DataSource implementation can not determine the data type.- Specified by:
getContentTypein interfaceDataSource- Returns:
- the MIME Type
-
getInputStream
public InputStream getInputStream() throws IOException
Description copied from interface:DataSourceThis method returns anInputStreamrepresenting the data and throws the appropriate exception if it can not do so. Note that a newInputStreamobject must be returned each time this method is called, and the stream must be positioned at the beginning of the data.- Specified by:
getInputStreamin interfaceDataSource- Returns:
- an InputStream
- Throws:
IOException- for failures creating the InputStream
-
getName
public String getName()
Description copied from interface:DataSourceReturn the name of this object where the name of the object is dependant on the nature of the underlying objects. DataSources encapsulating files may choose to return the filename of the object. (Typically this would be the last component of the filename, not an entire pathname.)- Specified by:
getNamein interfaceDataSource- Returns:
- the name of the object.
-
getOutputStream
public OutputStream getOutputStream() throws IOException
Description copied from interface:DataSourceThis method returns anOutputStreamwhere the data can be written and throws the appropriate exception if it can not do so. Note that a newOutputStreamobject must be returned each time this method is called, and the stream must be positioned at the location the data is to be written.- Specified by:
getOutputStreamin interfaceDataSource- Returns:
- an OutputStream
- Throws:
IOException- for failures creating the OutputStream
-
getDataSource
public DataSource getDataSource()
-
setDataSource
public void setDataSource(DataSource dataSource)
-
-