net.rim.device.api.crypto.cms
Class CMSOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by net.rim.device.api.crypto.cms.CMSOutputStream
Direct Known Subclasses:
CMSCompressedDataOutputStream, CMSDataOutputStream, CMSEnvelopedDataOutputStream, CMSSignedDataOutputStream, CMSSignedReceiptOutputStream, EMSAcceptResponseOutputStream

public abstract class CMSOutputStream
extends OutputStream

A generic CMS output stream that all specific CMS output streams extend.

See Also:
CMSInputStream
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

Field Summary
Category: Signed protected  OID _contentType
          The content type of the output.
Category: Signed protected  boolean _dataOut
          Determines whether or not to write data to the outputs stream.
Category: Signed protected  OutputStream _out
          The output stream.
Category: Signed protected  boolean _outer
          A boolean that determines if the output stream is the outside nested stream.
 
Constructor Summary
Category: Signed protected CMSOutputStream(OutputStream out, int contentType, boolean dataOut, boolean outer)
          Create a CMS output stream.
 
Method Summary
Category: Signed  void close()
          Closes this output stream and releases any system resources associated with this stream.
Category: Signed  void flush()
          Flushes this output stream and forces any buffered output bytes to be written out.
Category: Signed  void write(byte[] data)
          Writes b.length bytes from the specified byte array to this output stream.
Category: Signed abstract  void write(byte[] data, int offset, int length)
          Writes len bytes from the specified byte array starting at offset off to this output stream.
Category: Signed  void write(int data)
          Writes the specified byte to this output stream.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 



Field Detail

_out

protected OutputStream _out
The output stream.

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

_dataOut

protected boolean _dataOut
Determines whether or not to write data to the outputs stream.

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

_contentType

protected OID _contentType
The content type of the output.

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

_outer

protected boolean _outer
A boolean that determines if the output stream is the outside nested stream.

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0


Constructor Detail

CMSOutputStream

protected CMSOutputStream(OutputStream out,
                          int contentType,
                          boolean dataOut,
                          boolean outer)
Create a CMS output stream.

Parameters:
out - The output stream to use.
contentType - The content type of the output from CMSContentTypes.
dataOut - Determines whether or not to write the data to the output stream. It is not writtten out in a clear signed SMIME message.
outer - A boolean to determine if this is the outer CMS stream, since CMS streams can be nested within themselves. The stream needs to know if it is the "outer" layer so it can do some extra processing. For example, if you wish to sign and then encrypt a message, the CMSSignedDataOutputStream will be the "outer" layer.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0


Method Detail

write

public abstract void write(byte[] data,
                           int offset,
                           int length)
                    throws IOException
Description copied from class: OutputStream
Writes len bytes from the specified byte array starting at offset off to this output stream. The general contract for write(b, off, len) is that some of the bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation.

The write method of OutputStream calls the write method of one argument on each of the bytes to be written out. Subclasses are encouraged to override this method and provide a more efficient implementation.

If b is null, a NullPointerException is thrown.

If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

Overrides:
write in class OutputStream
Parameters:
data - the data.
offset - the start offset in the data.
length - the number of bytes to write.
Throws:
IOException - if an I/O error occurs. In particular, an IOException is thrown if the output stream is closed.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

write

public void write(int data)
           throws IOException
Description copied from class: OutputStream
Writes the specified byte to this output stream. The general contract for write is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

Subclasses of OutputStream must provide an implementation for this method.

Specified by:
write in class OutputStream
Parameters:
data - the byte.
Throws:
IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

write

public void write(byte[] data)
           throws IOException
Description copied from class: OutputStream
Writes b.length bytes from the specified byte array to this output stream. The general contract for write(b) is that it should have exactly the same effect as the call write(b, 0, b.length).

Overrides:
write in class OutputStream
Parameters:
data - the data.
Throws:
IOException - if an I/O error occurs.
See Also:
OutputStream.write(byte[], int, int)
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

flush

public void flush()
           throws IOException
Description copied from class: OutputStream
Flushes this output stream and forces any buffered output bytes to be written out. The general contract of flush is that calling it is an indication that, if any bytes previously written have been buffered by the implementation of the output stream, such bytes should immediately be written to their intended destination.

The flush method of OutputStream does nothing.

Overrides:
flush in class OutputStream
Throws:
IOException - if an I/O error occurs.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0

close

public void close()
           throws IOException
Description copied from class: OutputStream
Closes this output stream and releases any system resources associated with this stream. The general contract of close is that it closes the output stream. A closed stream cannot perform output operations and cannot be reopened.

The close method of OutputStream does nothing.

Overrides:
close in class OutputStream
Throws:
IOException - if an I/O error occurs.
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Since:
BlackBerry API 4.0.0





Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.