public class Set<E> extends Set<E> implements BackedSCO
Modifier and Type | Field and Description |
---|---|
protected boolean |
allowNulls |
protected SetStore<E> |
backingStore |
protected boolean |
initialising |
protected boolean |
isCacheLoaded |
protected boolean |
useCache |
Constructor and Description |
---|
Set(ObjectProvider op,
AbstractMemberMetaData mmd)
Constructor.
|
Set(ObjectProvider ownerOP,
AbstractMemberMetaData mmd,
boolean allowNulls,
SetStore backingStore)
Constructor allowing the specification of the backing store to be used.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(E element)
Method to add an element to the Collection.
|
boolean |
addAll(Collection c)
Method to add a collection of elements.
|
void |
clear()
Method to clear the Collection.
|
Object |
clone()
Creates and returns a copy of this object.
|
boolean |
contains(Object element)
Accessor for whether an element is contained in the Collection.
|
boolean |
containsAll(Collection c)
Accessor for whether a collection of elements are contained here.
|
boolean |
equals(Object o)
Equality operator.
|
Store |
getBackingStore() |
Set |
getValue()
Accessor for the unwrapped value that we are wrapping.
|
int |
hashCode()
Hashcode operator.
|
void |
initialise()
Method to initialise the SCO for use.
|
void |
initialise(Set c)
Method to initialise the SCO from an existing value.
|
void |
initialise(Set<E> newValue,
Object oldValue)
Method to initialise the SCO for use, where replacing an old value with a new value such as when calling a setter field
passing in a new value.
|
boolean |
isEmpty()
Accessor for whether the Collection is empty.
|
boolean |
isLoaded()
Method to return if the SCO has its contents loaded.
|
Iterator<E> |
iterator()
Accessor for an iterator for the Collection.
|
void |
load()
Method to effect the load of the data in the SCO.
|
protected void |
loadFromStore()
Method to load all elements from the "backing store" where appropriate.
|
java.util.stream.Stream |
parallelStream() |
boolean |
remove(Object element)
Method to remove an element from the Collection.
|
boolean |
remove(Object element,
boolean allowCascadeDelete)
Method to remove an element from the collection, and observe the flag for whether to allow cascade delete.
|
boolean |
removeAll(Collection elements)
Method to remove a Collection of elements.
|
boolean |
retainAll(Collection c)
Method to retain a Collection of elements (and remove all others).
|
int |
size()
Accessor for the size of the Collection.
|
Spliterator |
spliterator() |
java.util.stream.Stream |
stream() |
Object[] |
toArray()
Method to return the Collection as an array.
|
Object[] |
toArray(Object[] a)
Method to return the Collection as an array.
|
String |
toString()
Method to return the Collection as a String.
|
void |
unsetOwner()
Method to unset the owner and field information.
|
void |
updateEmbeddedElement(E element,
int fieldNumber,
Object value,
boolean makeDirty)
Method to update an embedded element in this collection.
|
protected Object |
writeReplace()
The writeReplace method is called when ObjectOutputStream is preparing
to write the object to the stream.
|
attachCopy, detachCopy, forEach, getFieldName, getOwner, makeDirty, removeIf, setValue
protected transient boolean allowNulls
protected transient boolean useCache
protected transient boolean isCacheLoaded
protected transient boolean initialising
public Set(ObjectProvider op, AbstractMemberMetaData mmd)
op
- The ObjectProvider for this set.mmd
- Metadata for the memberpublic Set(ObjectProvider ownerOP, AbstractMemberMetaData mmd, boolean allowNulls, SetStore backingStore)
ownerOP
- ObjectProvider for the owning objectmmd
- Metadata for the memberallowNulls
- Whether nulls are allowedbackingStore
- The backing storepublic void initialise(Set<E> newValue, Object oldValue)
SCO
initialise
in interface SCO<Set<E>>
initialise
in class Set<E>
newValue
- New value (to wrap)oldValue
- Old value (to use in deciding what needs deleting etc)public void initialise(Set c)
initialise
in interface SCO<Set<E>>
initialise
in class Set<E>
c
- The object to set frompublic void initialise()
initialise
in interface SCO<Set<E>>
initialise
in class Set<E>
public Set getValue()
public void load()
public boolean isLoaded()
protected void loadFromStore()
public Store getBackingStore()
getBackingStore
in interface BackedSCO
public void updateEmbeddedElement(E element, int fieldNumber, Object value, boolean makeDirty)
updateEmbeddedElement
in interface SCOCollection<Set<E>,E>
updateEmbeddedElement
in class Set<E>
element
- The elementfieldNumber
- Number of field in the elementvalue
- New value for this fieldmakeDirty
- Whether to make the SCO field dirty.public void unsetOwner()
unsetOwner
in interface SCO<Set<E>>
unsetOwner
in class Set<E>
public Object clone()
Mutable second-class Objects are required to provide a public clone method in order to allow for copying persistable objects. In contrast to Object.clone(), this method must not throw a CloneNotSupportedException.
public boolean contains(Object element)
public boolean containsAll(Collection c)
containsAll
in interface Collection<E>
containsAll
in interface Set<E>
containsAll
in class Set<E>
c
- The collection of elements.public boolean equals(Object o)
public int hashCode()
public boolean isEmpty()
public int size()
public Object[] toArray()
public String toString()
toString
in class AbstractCollection<E>
public boolean add(E element)
public boolean addAll(Collection c)
public void clear()
public boolean remove(Object element)
public boolean remove(Object element, boolean allowCascadeDelete)
public boolean removeAll(Collection elements)
public boolean retainAll(Collection c)
protected Object writeReplace() throws ObjectStreamException
writeReplace
in class Set<E>
ObjectStreamException
- if an error occurspublic Spliterator spliterator()
spliterator
in interface Iterable<E>
spliterator
in interface Collection<E>
spliterator
in interface Set<E>
spliterator
in class Set<E>
public java.util.stream.Stream stream()
public java.util.stream.Stream parallelStream()
parallelStream
in interface Collection<E>
parallelStream
in class Set<E>
Copyright © 2018. All rights reserved.