Top Description Fields Constructors Methods
com.dd.plist

public Class NSData

extends NSObject
Class Inheritance
Imports
java.io.File, .FileNotFoundException, .IOException, .RandomAccessFile, java.nio.ByteBuffer, java.util.Arrays, .Objects

The NSData class is a wrapper for a byte buffer.
Author
Daniel Dreibrodt
See Also
Foundation NSData documentation

Field Summary

Modifier and TypeField and Description
private final byte[]
Inherited from com.dd.plist.NSObject:
ASCII_LINE_LENGTHNEWLINE

Constructor Summary

AccessConstructor and Description
public
NSData(byte[]
The data content.
bytes
)

Creates a new NSData instance with the specified content.

public
NSData(String
The Base64 encoded data content.
base64
)

Creates a new NSData instance with the specified Base64 encoded content.

public
NSData(File
The file containing the data.
file
)

Creates a new NSData instance with the specified file as content.

Method Summary

Modifier and TypeMethod and Description
public byte[]

Returns:

The data as bytes
bytes
()

Returns the bytes contained in this instance.

public NSData
clone()

Implements abstract com.dd.plist.NSObject.clone.

Creates and returns a deep copy of this instance.

public int
compareTo(NSObject o)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.

public boolean
equals(Object obj)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public String

Returns:

The data as a Base64 encoded String.
getBase64EncodedData
()

Gets the Base64 encoded data contained in this instance.

public void
getBytes(ByteBuffer
The byte buffer which will contain the data.
buf
,
int
The number of bytes to copy.
length
)

Copies data from this instance into the specified buffer.

public void
getBytes(ByteBuffer
The byte buffer which will contain the data.
buf
,
int
The index from which to start copying.
rangeStart
,
int
The index at which to stop copying.
rangeStop
)

Copies data from this instance into the specified buffer.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public int

Returns:

The number of bytes contained in this object.
length
()

Returns the number of bytes stored in this instance.

protected void
toASCII(StringBuilder ascii, int level)

Implements abstract com.dd.plist.NSObject.toASCII.

Generates the ASCII representation of this object.

protected void
toASCIIGnuStep(StringBuilder ascii, int level)

Implements abstract com.dd.plist.NSObject.toASCIIGnuStep.

Generates the ASCII representation of this object in the GnuStep format.

pack-priv void
toBinary(BinaryPropertyListWriter out)

Implements abstract com.dd.plist.NSObject.toBinary.

Generates the binary representation of the object.

public Object
toJavaObject()

Implements abstract com.dd.plist.NSObject.toJavaObject.

Converts this NSObject into an equivalent object of the Java Runtime Environment.

pack-priv void
toXML(StringBuilder xml, int level)

Implements abstract com.dd.plist.NSObject.toXML.

Generates the XML representation of the object (without XML headers or enclosing plist-tags).

Inherited from com.dd.plist.NSObject:
assignIDsfromJavaObjectgetLocationInformationindentsetLocationInformationtoJavaObjecttoXMLPropertyList

Field Detail

bytesback to summary
private final byte[] bytes

Constructor Detail

NSDataback to summary
public NSData(byte[] bytes)

Creates a new NSData instance with the specified content.

Parameters
bytes:byte[]

The data content.

NSDataback to summary
public NSData(String base64) throws IOException

Creates a new NSData instance with the specified Base64 encoded content.

Parameters
base64:String

The Base64 encoded data content.

Exceptions
IOException:
When the given string is not a proper Base64 formatted string.
NSDataback to summary
public NSData(File file) throws IOException

Creates a new NSData instance with the specified file as content.

Parameters
file:File

The file containing the data.

Exceptions
IOException:
If the file could not be read.
FileNotFoundException:
If the file could not be found.

Method Detail

bytesback to summary
public byte[] bytes()

Returns the bytes contained in this instance.

Returns:byte[]

The data as bytes

cloneback to summary
public NSData clone()

Implements abstract com.dd.plist.NSObject.clone.

Doc from com.dd.plist.NSObject.clone.

Creates and returns a deep copy of this instance.

Annotations
@Override
compareToback to summary
public int compareTo(NSObject o)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Annotations
@Override
equalsback to summary
public boolean equals(Object obj)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Annotations
@Override
getBase64EncodedDataback to summary
public String getBase64EncodedData()

Gets the Base64 encoded data contained in this instance.

Returns:String

The data as a Base64 encoded String.

getBytesback to summary
public void getBytes(ByteBuffer buf, int length)

Copies data from this instance into the specified buffer.

Parameters
buf:ByteBuffer

The byte buffer which will contain the data.

length:int

The number of bytes to copy.

getBytesback to summary
public void getBytes(ByteBuffer buf, int rangeStart, int rangeStop)

Copies data from this instance into the specified buffer.

Parameters
buf:ByteBuffer

The byte buffer which will contain the data.

rangeStart:int

The index from which to start copying.

rangeStop:int

The index at which to stop copying.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Annotations
@Override
lengthback to summary
public int length()

Returns the number of bytes stored in this instance.

Returns:int

The number of bytes contained in this object.

toASCIIback to summary
protected void toASCII(StringBuilder ascii, int level)

Implements abstract com.dd.plist.NSObject.toASCII.

Doc from com.dd.plist.NSObject.toASCII.

Generates the ASCII representation of this object. The generated ASCII representation does not end with a newline. Complies with the Old-Style ASCII Property Lists definition.

Annotations
@Override
toASCIIGnuStepback to summary
protected void toASCIIGnuStep(StringBuilder ascii, int level)

Implements abstract com.dd.plist.NSObject.toASCIIGnuStep.

Doc from com.dd.plist.NSObject.toASCIIGnuStep.

Generates the ASCII representation of this object in the GnuStep format. The generated ASCII representation does not end with a newline.

Annotations
@Override
toBinaryback to summary
pack-priv void toBinary(BinaryPropertyListWriter out) throws IOException

Implements abstract com.dd.plist.NSObject.toBinary.

Doc from com.dd.plist.NSObject.toBinary.

Generates the binary representation of the object.

Annotations
@Override
Exceptions
IOException:
If an I/O error occurs while writing to the stream or the object structure contains data that cannot be saved.
toJavaObjectback to summary
public Object toJavaObject()

Implements abstract com.dd.plist.NSObject.toJavaObject.

Doc from com.dd.plist.NSObject.toJavaObject.

Converts this NSObject into an equivalent object of the Java Runtime Environment.

Annotations
@Override
toXMLback to summary
pack-priv void toXML(StringBuilder xml, int level)

Implements abstract com.dd.plist.NSObject.toXML.

Doc from com.dd.plist.NSObject.toXML.

Generates the XML representation of the object (without XML headers or enclosing plist-tags).

Annotations
@Override