Top Description Fields Constructors Methods
com.dd.plist

public Class NSSet

extends NSObject
Class Inheritance
Imports
java.io.IOException, java.util.*, java.util.stream.Collectors

The NSSet class is an unordered collection of NSObject instances. This implementation uses a LinkedHashSet or TreeSetas the underlying data structure.
Author
Daniel Dreibrodt
See Also
LinkedHashSet

Field Summary

Modifier and TypeField and Description
private boolean
private final Set<NSObject>
Inherited from com.dd.plist.NSObject:
ASCII_LINE_LENGTHNEWLINE

Constructor Summary

AccessConstructor and Description
public
NSSet()

Creates a new NSSet instance.

public
NSSet(boolean
Indicates whether the created set should be ordered or unordered.
ordered
)

Creates a new NSSet instance.

public
NSSet(NSObject...
The objects to populate the set.
objects
)

Creates a new NSSet instance with the specified content.

public
NSSet(boolean
Indicates whether the created set should be ordered or unordered.
ordered
,
NSObject...
The objects to populate the set.
objects
)

Create a new NSSet instance with the specified content.

Method Summary

Modifier and TypeMethod and Description
public synchronized void
addObject(NSObject
The object to add.
obj
)

Adds an object to the set.

public synchronized NSObject[]

Returns:

An array of all objects in the set.
allObjects
()

Returns all objects contained in the set.

public synchronized NSObject

Returns:

The first object in the set, or null if the set is empty.
anyObject
()

Returns one of the objects in the set, or null if the set contains no objects.

pack-priv void
assignIDs(BinaryPropertyListWriter out)

Overrides com.dd.plist.NSObject.assignIDs.

Assigns IDs to all the objects in this NSObject subtree.

public NSSet
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

Returns:

true, when the object was found, false otherwise.
containsObject
(NSObject
The object to look for.
obj
)

Finds out whether the given object is contained in the set.

public synchronized int

Returns:

The number of elements in the set.
count
()

Gets the number of elements in the set.

public boolean
equals(Object obj)

Overrides java.lang.Object.equals.

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

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public synchronized boolean

Returns:

false if the intersection of both sets is empty, true otherwise.
intersectsSet
(NSSet
The other set.
otherSet
)

Finds out whether at least one object is present in both sets.

public synchronized boolean

Returns:

true if all elements in this set are also present in the other set, false otherwise.
isSubsetOfSet
(NSSet
The other set.
otherSet
)

Finds out if this set is a subset of the given set.

public synchronized NSObject

Returns:

The object if it is present, null otherwise.
member
(NSObject
The object to look for.
obj
)

Determines whether the set contains an object equal to the given object and returns that object if it is present.

public synchronized Iterator<NSObject>

Returns:

The iterator for the set.
objectIterator
()

Returns an iterator object that lets you iterate over all elements of the set.

public synchronized void
removeObject(NSObject
The object to remove.
obj
)

Removes an object from the set.

protected void
toASCII(StringBuilder
The ASCII file string builder
ascii
,
int
The indentation level
level
)

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

Returns the ASCII representation of this set.

protected void
toASCIIGnuStep(StringBuilder
The ASCII file string builder
ascii
,
int
The indentation level
level
)

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

Returns the ASCII representation of this set according to 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
The XML StringBuilder
xml
,
int
The indentation level
level
)

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

Returns the XML representation for this set.

Inherited from com.dd.plist.NSObject:
fromJavaObjectgetLocationInformationindentsetLocationInformationtoJavaObjecttoXMLPropertyList

Field Detail

orderedback to summary
private boolean ordered
setback to summary
private final Set<NSObject> set

Constructor Detail

NSSetback to summary
public NSSet()

Creates a new NSSet instance. The created set is unordered.

See Also
java.util.LinkedHashSet
NSSetback to summary
public NSSet(boolean ordered)

Creates a new NSSet instance.

Parameters
ordered:boolean

Indicates whether the created set should be ordered or unordered.

See Also
java.util.LinkedHashSet, java.util.TreeSet
NSSetback to summary
public NSSet(NSObject... objects)

Creates a new NSSet instance with the specified content. The created set is unordered.

Parameters
objects:NSObject[]

The objects to populate the set.

See Also
java.util.LinkedHashSet
NSSetback to summary
public NSSet(boolean ordered, NSObject... objects)

Create a new NSSet instance with the specified content.

Parameters
ordered:boolean

Indicates whether the created set should be ordered or unordered.

objects:NSObject[]

The objects to populate the set.

See Also
java.util.LinkedHashSet, java.util.TreeSet

Method Detail

addObjectback to summary
public synchronized void addObject(NSObject obj)

Adds an object to the set.

Parameters
obj:NSObject

The object to add.

allObjectsback to summary
public synchronized NSObject[] allObjects()

Returns all objects contained in the set.

Returns:NSObject[]

An array of all objects in the set.

anyObjectback to summary
public synchronized NSObject anyObject()

Returns one of the objects in the set, or null if the set contains no objects.

Returns:NSObject

The first object in the set, or null if the set is empty.

assignIDsback to summary
pack-priv void assignIDs(BinaryPropertyListWriter out)

Overrides com.dd.plist.NSObject.assignIDs.

Doc from com.dd.plist.NSObject.assignIDs.

Assigns IDs to all the objects in this NSObject subtree.

Annotations
@Override
cloneback to summary
public NSSet 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
containsObjectback to summary
public boolean containsObject(NSObject obj)

Finds out whether the given object is contained in the set.

Parameters
obj:NSObject

The object to look for.

Returns:boolean

true, when the object was found, false otherwise.

countback to summary
public synchronized int count()

Gets the number of elements in the set.

Returns:int

The number of elements in the set.

See Also
Set#size()
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
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
intersectsSetback to summary
public synchronized boolean intersectsSet(NSSet otherSet)

Finds out whether at least one object is present in both sets.

Parameters
otherSet:NSSet

The other set.

Returns:boolean

false if the intersection of both sets is empty, true otherwise.

isSubsetOfSetback to summary
public synchronized boolean isSubsetOfSet(NSSet otherSet)

Finds out if this set is a subset of the given set.

Parameters
otherSet:NSSet

The other set.

Returns:boolean

true if all elements in this set are also present in the other set, false otherwise.

memberback to summary
public synchronized NSObject member(NSObject obj)

Determines whether the set contains an object equal to the given object and returns that object if it is present.

Parameters
obj:NSObject

The object to look for.

Returns:NSObject

The object if it is present, null otherwise.

objectIteratorback to summary
public synchronized Iterator<NSObject> objectIterator()

Returns an iterator object that lets you iterate over all elements of the set. This is the equivalent to objectEnumerator in the Cocoa implementation of NSSet.

Returns:Iterator<NSObject>

The iterator for the set.

removeObjectback to summary
public synchronized void removeObject(NSObject obj)

Removes an object from the set.

Parameters
obj:NSObject

The object to remove.

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

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

Returns the ASCII representation of this set. There is no official ASCII representation for sets. In this implementation sets are represented as arrays.

Parameters
ascii:StringBuilder

The ASCII file string builder

level:int

The indentation level

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

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

Returns the ASCII representation of this set according to the GnuStep format. There is no official ASCII representation for sets. In this implementation sets are represented as arrays.

Parameters
ascii:StringBuilder

The ASCII file string builder

level:int

The indentation level

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.

Returns the XML representation for this set. There is no official XML representation specified for sets. In this implementation it is represented by an array.

Parameters
xml:StringBuilder

The XML StringBuilder

level:int

The indentation level

Annotations
@Override