Skip to content

Titanium.Buffer

Buffer is a mutable, resizable container for raw data.

A Buffer works like a resizable array of byte values.

Use the Titanium.createBuffer method to create a buffer.

Extends: Titanium.Proxy · Since: 1.7, 1.7, 1.7, 9.2.0 · Platforms: android, iphone, ipad, macos

Properties #

apiName#

extended

Type: String

The name of the API that this proxy corresponds to.

The value of this property is the fully qualified name of the API. For example, Button
returns Ti.UI.Button.

bubbleParent#

extended

Type: Boolean

Indicates if the proxy will bubble an event to its parent.

Some proxies (most commonly views) have a relationship to other proxies, often
established by the add() method. For example, for a button added to a window, a
click event on the button would bubble up to the window. Other common parents are
table sections to their rows, table views to their sections, and scrollable views
to their views. Set this property to false to disable the bubbling to the proxy's parent.

byteOrder#

creation only

Type: Number

Byte order of this buffer.

length#

Type: Number

Length of the buffer in bytes.

When length is modified the buffer will be re-sized while preserving existing data where
possible. If the new buffer length is smaller than the length of the existing data then the
existing data will be truncated down to the size of the new buffer.

Resizing a buffer by setting its length should be used sparingly due to the associated overhead.

lifecycleContainer#

extended

Type: Titanium.UI.Window, Titanium.UI.TabGroup

The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.

If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks
will also be called on the proxy. Proxies that require the activity lifecycle will need this property set
to the appropriate containing Window or TabGroup.

type#

creation only

Type: String

The type of data encoding to use with value.

Required when value is a Number. For numbers, specify a TYPE constant
from Titanium.Codec, for example, Titanium.Codec.TYPE_DOUBLE.

When value is a String, specify a CHARSET constant from Titanium.Codec.

value#

creation only

Type: Number, String

Data to be encoded.

If value is a Number, type must also be set. (This is simply a convenient way of
calling Titanium.Codec.encodeString or Titanium.Codec.encodeNumber.)

Methods #

addEventListener #

extended

Adds the specified callback as an event listener for the named event.

Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
callbackCallback<Titanium.Event>Callback function to invoke when the event is fired.No

append #

Appends sourceBuffer to the this buffer.

This buffer is grown dynamically to accommodate the additional data if need be.

If sourceOffset and sourceLength are specified, data from sourceBuffer is
copied starting at position sourceOffset, and no more than sourceLength bytes
are copied.

Parameters:
NameTypeSummaryOptional
sourceBufferTitanium.BufferBuffer to append to this buffer.No
sourceOffsetNumberOffset to start reading buffer data from.
If specified, sourceLength must also be specified.
Yes
sourceLengthNumberNumber of bytes to read from sourceBuffer.
If specified, sourceOffset must also be specified.
Yes

Returns: Number — The number of bytes appended.

applyProperties #

extended

Applies the properties to the proxy.

Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that
myproxy[key] = value.

Parameters:
NameTypeSummaryOptional
propsDictionaryA dictionary of properties to apply.No

clear #

Clears this buffer's contents but does not change the size of the buffer.

clone #

Creates a complete or partial copy of this buffer.

If called with no arguments, returns a complete copy of the current buffer.

If offset and length are specified, creates a new buffer from the original
buffer contents starting at offset and ending at offset+length-1.

Parameters:
NameTypeSummaryOptional
offsetNumberOffset of first byte of this buffer to clone.
If specified, length must be specified as well.
Yes
lengthNumberNumber of bytes of data to clone.Yes

Returns: Titanium.Buffer

copy #

Copies data from sourceBuffer into the current buffer at offset.

Does not expand this buffer if there is not enough room to accommodate the data
from sourceBuffer.

If sourceOffset and sourceLength are specified, bytes are copied from
sourceBuffer starting at sourceOffset, and a maximum of sourceLength bytes
are copied.

Parameters:
NameTypeSummaryOptional
sourceBufferTitanium.BufferBuffer to copy data from.No
offsetNumberOffset in this buffer for the first byte of the copied data.No
sourceOffsetNumberOffset in sourceBuffer to copy data from.
If specified, sourceLength must be specified as well.
Yes
sourceLengthNumberNumber of bytes to copy from sourceBuffer.
If specified, sourceOffset must be specified as well.
Yes

Returns: Number — The number of bytes copied.

fill #

Fills this buffer with the specified byte value.

Fills the buffer by setting byte values to fillByte.

If offset and length are specified, fills the buffer starting at
offset and ending at offset+length-1.

If offset and length are omitted, fills the entire buffer.

Parameters:
NameTypeSummaryOptional
fillByteNumberByte to fill buffer with.No
offsetNumberOffset of the first byte to set to fillByte.Yes
lengthNumberNumber of bytes to fill.Yes

fireEvent #

extended

Fires a synthesized event to any registered listeners.

Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
eventDictionaryA dictionary of keys and values to add to the Titanium.Event object sent to the listeners.Yes

insert #

Inserts data from sourceBuffer into this buffer at offset.

Buffer is grown to accommodate the new data.

If sourceOffset and sourceLength are specified, sourceLength bytes
of data are copied from sourceBuffer, with the first byte at sourceOffset.

Parameters:
NameTypeSummaryOptional
sourceBufferTitanium.BufferBuffer holding data to insert into this buffer.No
offsetNumberOffset in this buffer to insert the first byte copied from
sourceBuffer.
No
sourceOffsetNumberOffset in sourceBuffer of the first byte to insert.
If specified, sourceLength must be specified as well.
Yes
sourceLengthNumberNumber of bytes to insert from sourceBuffer.
If specified, sourceOffset must be specified as well.
Yes

Returns: Number — The number of bytes inserted.

release #

Releases the space allocated to the buffer, and sets its length to 0.

This is effectively the same as buffer.length = 0.

removeEventListener #

extended

Removes the specified callback as an event listener for the named event.

Multiple listeners can be registered for the same event, so the
callback parameter is used to determine which listener to remove.

When adding a listener, you must save a reference to the callback function
in order to remove the listener later:

var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);

To remove the listener, pass in a reference to the callback function:

window.removeEventListener('click', listener);
Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
callbackCallback<Titanium.Event>Callback function to remove. Must be the same function passed to addEventListener.No

toBlob #

Converts this buffer to a Titanium.Blob.

Returns: Titanium.Blob

toString #

Converts this buffer to a String.

Returns: String

Titanium SDK Documentation