Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.core.api.impl.blob
Class FileBlob

java.lang.Object
  extended by org.nuxeo.ecm.core.api.impl.blob.AbstractBlob
      extended by org.nuxeo.ecm.core.api.impl.blob.StreamBlob
          extended by org.nuxeo.ecm.core.api.impl.blob.DefaultStreamBlob
              extended by org.nuxeo.ecm.core.api.impl.blob.FileBlob
All Implemented Interfaces:
Serializable, Blob

public class FileBlob
extends DefaultStreamBlob
implements Serializable

Author:
Bogdan Stefanescu
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.nuxeo.ecm.core.api.impl.blob.AbstractBlob
EMPTY_BYTE_ARRAY, EMPTY_INPUT_STREAM, EMPTY_READER, EMPTY_STRING
 
Constructor Summary
FileBlob(File file)
           
FileBlob(File file, String ctype)
           
FileBlob(File file, String mimeType, String encoding)
           
FileBlob(File file, String mimeType, String encoding, String filename, String digest)
           
FileBlob(InputStream in)
           
FileBlob(InputStream in, String ctype)
           
FileBlob(InputStream in, String mimeType, String encoding)
           
 
Method Summary
 File getFile()
           
 long getLength()
          Gets the data length in bytes if known.
 InputStream getStream()
           
 boolean isPersistent()
          Checks whether this blob is persistent.
 Blob persist()
          Persist this stream so that Blob.getStream() method can be called successfully several times.
 
Methods inherited from class org.nuxeo.ecm.core.api.impl.blob.DefaultStreamBlob
getDigest, getEncoding, getFilename, getMimeType, setDigest, setEncoding, setFilename, setMimeType
 
Methods inherited from class org.nuxeo.ecm.core.api.impl.blob.StreamBlob
asByteArrayBlob, asStringBlob, getByteArray, getReader, getString, readBytes, readBytes, readString
 
Methods inherited from class org.nuxeo.ecm.core.api.impl.blob.AbstractBlob
copy, copy, transferTo, transferTo, transferTo
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileBlob

public FileBlob(File file)

FileBlob

public FileBlob(File file,
                String ctype)

FileBlob

public FileBlob(File file,
                String mimeType,
                String encoding)

FileBlob

public FileBlob(File file,
                String mimeType,
                String encoding,
                String filename,
                String digest)

FileBlob

public FileBlob(InputStream in)
         throws IOException
Throws:
IOException

FileBlob

public FileBlob(InputStream in,
                String ctype)
         throws IOException
Throws:
IOException

FileBlob

public FileBlob(InputStream in,
                String mimeType,
                String encoding)
         throws IOException
Throws:
IOException
Method Detail

getFile

public File getFile()

getLength

public long getLength()
Description copied from interface: Blob
Gets the data length in bytes if known.

Specified by:
getLength in interface Blob
Overrides:
getLength in class StreamBlob
Returns:
the data length or -1 if not known

getStream

public InputStream getStream()
                      throws IOException
Specified by:
getStream in interface Blob
Throws:
IOException

persist

public Blob persist()
Description copied from interface: Blob
Persist this stream so that Blob.getStream() method can be called successfully several times. The persistence is done in a temporary file or in memory - this is up to the implementation.

Blobs that are already persistent return themselves.

Persistence should update the internal structure of the Blob to make it persistent whenever possible and hence return itself whenever possible. This behavior cannot be guaranteed by every implementation however.

Specified by:
persist in interface Blob
Returns:
a persistent version of the blob

isPersistent

public boolean isPersistent()
Description copied from interface: Blob
Checks whether this blob is persistent. (i.e. if Blob.getStream() can be successfully called several times).

Specified by:
isPersistent in interface Blob
Returns:
true if persistent, false otherwise

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.