Skip to main content

SObjectStream

SObjectStream is a lazy collection of SObject instances which implements Iterator<SObject>.

of#

Constructs an SObjectStream with the provided Iterable<SObject>.

Signature

static SObjectStream of(Iterable<SObject> records)

Example

// List<Accounts> accounts = [...]SObjectStream.of(accounts);SObjectStream.of(Trigger.old);

hasNext#

Signature

virtual Boolean hasNext()

Example

SObjectStream accountStream = SObjectStream.of(Trigger.new); while (accountStream.hasNext()) { Account acc = (Account) accountStream.next(); }

next#

Signature

virtual SObject next()

Example

SObjectStream largeOpportunities = SObjectStream.of(Trigger.new).filter(Fn.Match.field(Opportunity.Amount).gt(100000));while (largeOpportunities.hasNext()) {    Opportunity opp = (Opportunity) largeOpportunities.next();}

filter#

Returns a stream consisting of the elements of this stream that match the given predicate.

Signature

SObjectStream filter(SObjectPredicate predicate)

find#

Returns an OptionalSObject wrapping the first record predicate returns true for, or an empty OptionalSObject if no element is found. This consumes the stream.

Signature

OptionalSObject find(SObjectPredicate predicate)

forEach#

Iterates through the stream and invokes a function for each record. This consumes the stream.

Signature

void forEach(SObjectFunction fn)

mapAll#

Signature

SObjectStream mapAll(SObjectToSObjectFunction fn)

mapSome#

Signature

SObjectStream mapSome(SObjectPredicate predicate, SObjectToSObjectFunction fn)

remove#

Returns a stream consisting of the elements of this stream that do not match the given predicate.

Signature

SObjectStream remove(SObjectPredicate predicate)

Example

toList#

Collects the stream into a List. This consumes the stream.

Signature

List<SObject> toList()