Class FactoryListBaseAttribute<R extends FactoryBase<?,R>,L,F extends FactoryBase<? extends L,R>,A extends FactoryListBaseAttribute<R,L,F,A>>
- java.lang.Object
-
- io.github.factoryfx.factory.attribute.Attribute<U,A>
-
- io.github.factoryfx.factory.attribute.dependency.ReferenceBaseAttribute<R,F,java.util.List<F>,A>
-
- io.github.factoryfx.factory.attribute.dependency.FactoryListBaseAttribute<R,L,F,A>
-
- All Implemented Interfaces:
AttributeCopy<java.util.List<F>>,AttributeMatch<java.util.List<F>>,AttributeMerger<java.util.List<F>>,AttributeValue<java.util.List<F>>,FactoryChildrenEnclosingAttribute<R,A>,java.lang.Iterable<F>,java.util.Collection<F>,java.util.List<F>
- Direct Known Subclasses:
FactoryListAttribute,FactoryPolymorphicListAttribute
public class FactoryListBaseAttribute<R extends FactoryBase<?,R>,L,F extends FactoryBase<? extends L,R>,A extends FactoryListBaseAttribute<R,L,F,A>> extends ReferenceBaseAttribute<R,F,java.util.List<F>,A> implements java.util.List<F>
-
-
Field Summary
-
Fields inherited from class io.github.factoryfx.factory.attribute.dependency.ReferenceBaseAttribute
additionalDeleteAction, clazz, parent
-
-
Constructor Summary
Constructors Constructor Description FactoryListBaseAttribute()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, F element)booleanadd(F value)booleanaddAll(int index, java.util.Collection<? extends F> c)booleanaddAll(java.util.Collection<? extends F> c)voidbatchModify(java.util.function.Consumer<java.util.List<F>> batchAction)add is costly with the change detection and root back reference adding this halt the change detection until batch is ended;voidclear()booleancontains(java.lang.Object o)booleancontainsAll(java.util.Collection<?> c)AdefaultExpanded()java.util.List<F>filtered(java.util.function.Predicate<F> predicate)voidforEach(java.util.function.Consumer<? super F> action)java.util.List<F>get()Fget(int index)java.lang.StringgetDisplayText()intindexOf(java.lang.Object o)java.util.List<L>instances()Linstances(java.util.function.Predicate<F> filter)voidinternal_copyTo(AttributeCopy<java.util.List<F>> copyAttribute, int level, int maxLevel, java.util.List<FactoryBase<?,?>> oldData, FactoryBase<?,?> parent, FactoryBase<?,?> root)voidinternal_deleteFactory(F factory)<RL extends FactoryBase<?,RL>>
voidinternal_fixDuplicateObjects(java.util.Map<java.util.UUID,FactoryBase<?,RL>> idToDataMap)booleaninternal_isDefaultExpanded()edit hint to show list initial expandedvoidinternal_merge(java.util.List<F> newList)booleaninternal_mergeMatch(AttributeMatch<java.util.List<F>> value)alternative to equals on value, type-safe , less verbose, without worrying about hidden contracts indented for merge some with some serial case e.g ObjectValueAttributevoidinternal_semanticCopyTo(AttributeCopy<java.util.List<F>> copyAttribute)voidinternal_visitChildren(java.util.function.Consumer<FactoryBase<?,R>> consumer, boolean includeViews)booleanisEmpty()java.util.Iterator<F>iterator()intlastIndexOf(java.lang.Object o)java.util.ListIterator<F>listIterator()java.util.ListIterator<F>listIterator(int index)java.util.stream.Stream<F>parallelStream()Fremove(int index)booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> c)booleanremoveIf(java.util.function.Predicate<? super F> filter)booleanretainAll(java.util.Collection<?> c)Fset(int index, F element)voidset(java.util.List<F> value)set list only take the list items not the list itself, (to simplify ChangeListeners)intsize()voidsort(java.util.Comparator<? super F> c)java.util.Spliterator<F>spliterator()java.util.stream.Stream<F>stream()java.util.List<F>subList(int fromIndex, int toIndex)java.lang.Object[]toArray()<T1> T1[]toArray(T1[] a)-
Methods inherited from class io.github.factoryfx.factory.attribute.dependency.ReferenceBaseAttribute
additionalDeleteAction, catalogueBased, createAttributeStorageMetadata, internal_addBackReferences, internal_createNewPossibleValues, internal_getCopySemantic, internal_getReferenceClass, internal_isCatalogueBased, internal_isUserCreatable, internal_isUserSelectable, internal_possibleValues, internal_reset, internal_setReferenceClass, newValuesProvider, newValuesProvider, possibleValueProvider, setCopySemantic, userNotCreatable, userNotSelectable
-
Methods inherited from class io.github.factoryfx.factory.attribute.Attribute
addonText, de, en, es, fr, internal_addListener, internal_endUsage, internal_getAddonText, internal_getListeners, internal_getPreferredLabelText, internal_getPreferredTooltipText, internal_hasWritePermission, internal_isUserReadOnly, internal_removeAllListener, internal_removeListener, internal_required, internal_validate, it, labelText, labelText, listenersEmpty, permission, pt, tooltipDe, tooltipEn, updateListeners, userReadOnly, userReadOnly, validation
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.github.factoryfx.factory.attribute.AttributeMatch
internal_referenceEquals, internal_referenceListEquals
-
Methods inherited from interface io.github.factoryfx.factory.attribute.AttributeMerger
internal_mergeFactoryList
-
-
-
-
Method Detail
-
instances
public java.util.List<L> instances()
-
internal_mergeMatch
public boolean internal_mergeMatch(AttributeMatch<java.util.List<F>> value)
Description copied from interface:AttributeMatchalternative to equals on value, type-safe , less verbose, without worrying about hidden contracts indented for merge some with some serial case e.g ObjectValueAttribute- Specified by:
internal_mergeMatchin interfaceAttributeMatch<R extends FactoryBase<?,R>>- Parameters:
value- compare value- Returns:
- true if equals
-
internal_merge
public void internal_merge(java.util.List<F> newList)
- Specified by:
internal_mergein interfaceAttributeMerger<R extends FactoryBase<?,R>>- Overrides:
internal_mergein classAttribute<java.util.List<F extends FactoryBase<? extends L,R>>,A extends FactoryListBaseAttribute<R,L,F,A>>
-
internal_fixDuplicateObjects
public <RL extends FactoryBase<?,RL>> void internal_fixDuplicateObjects(java.util.Map<java.util.UUID,FactoryBase<?,RL>> idToDataMap)
- Specified by:
internal_fixDuplicateObjectsin interfaceFactoryChildrenEnclosingAttribute<R extends FactoryBase<?,R>,L>
-
get
public java.util.List<F> get()
- Specified by:
getin interfaceAttributeValue<R extends FactoryBase<?,R>>
-
set
public void set(java.util.List<F> value)
set list only take the list items not the list itself, (to simplify ChangeListeners)- Specified by:
setin interfaceAttributeCopy<R extends FactoryBase<?,R>>- Specified by:
setin interfaceAttributeValue<R extends FactoryBase<?,R>>
-
internal_copyTo
public void internal_copyTo(AttributeCopy<java.util.List<F>> copyAttribute, int level, int maxLevel, java.util.List<FactoryBase<?,?>> oldData, FactoryBase<?,?> parent, FactoryBase<?,?> root)
- Specified by:
internal_copyToin interfaceAttributeCopy<R extends FactoryBase<?,R>>
-
internal_semanticCopyTo
public void internal_semanticCopyTo(AttributeCopy<java.util.List<F>> copyAttribute)
- Specified by:
internal_semanticCopyToin interfaceAttributeCopy<R extends FactoryBase<?,R>>
-
getDisplayText
public java.lang.String getDisplayText()
- Specified by:
getDisplayTextin classAttribute<java.util.List<F extends FactoryBase<? extends L,R>>,A extends FactoryListBaseAttribute<R,L,F,A>>
-
internal_deleteFactory
public void internal_deleteFactory(F factory)
-
sort
public void sort(java.util.Comparator<? super F> c)
- Specified by:
sortin interfacejava.util.List<R extends FactoryBase<?,R>>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
isEmptyin interfacejava.util.List<R extends FactoryBase<?,R>>
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
containsin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
containsin interfacejava.util.List<R extends FactoryBase<?,R>>
-
iterator
public java.util.Iterator<F> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
iteratorin interfacejava.lang.Iterable<R extends FactoryBase<?,R>>- Specified by:
iteratorin interfacejava.util.List<R extends FactoryBase<?,R>>
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
toArrayin interfacejava.util.List<R extends FactoryBase<?,R>>
-
toArray
public <T1> T1[] toArray(T1[] a)
- Specified by:
toArrayin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
toArrayin interfacejava.util.List<R extends FactoryBase<?,R>>
-
stream
public java.util.stream.Stream<F> stream()
- Specified by:
streamin interfacejava.util.Collection<R extends FactoryBase<?,R>>
-
parallelStream
public java.util.stream.Stream<F> parallelStream()
- Specified by:
parallelStreamin interfacejava.util.Collection<R extends FactoryBase<?,R>>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
removein interfacejava.util.List<R extends FactoryBase<?,R>>
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAllin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
containsAllin interfacejava.util.List<R extends FactoryBase<?,R>>
-
addAll
public boolean addAll(java.util.Collection<? extends F> c)
- Specified by:
addAllin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
addAllin interfacejava.util.List<R extends FactoryBase<?,R>>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends F> c)- Specified by:
addAllin interfacejava.util.List<R extends FactoryBase<?,R>>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
- Specified by:
removeAllin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
removeAllin interfacejava.util.List<R extends FactoryBase<?,R>>
-
removeIf
public boolean removeIf(java.util.function.Predicate<? super F> filter)
- Specified by:
removeIfin interfacejava.util.Collection<R extends FactoryBase<?,R>>
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
- Specified by:
retainAllin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
retainAllin interfacejava.util.List<R extends FactoryBase<?,R>>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
clearin interfacejava.util.List<R extends FactoryBase<?,R>>
-
get
public F get(int index)
- Specified by:
getin interfacejava.util.List<R extends FactoryBase<?,R>>
-
set
public F set(int index, F element)
- Specified by:
setin interfacejava.util.List<R extends FactoryBase<?,R>>
-
add
public void add(int index, F element)- Specified by:
addin interfacejava.util.List<R extends FactoryBase<?,R>>
-
remove
public F remove(int index)
- Specified by:
removein interfacejava.util.List<R extends FactoryBase<?,R>>
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOfin interfacejava.util.List<R extends FactoryBase<?,R>>
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOfin interfacejava.util.List<R extends FactoryBase<?,R>>
-
listIterator
public java.util.ListIterator<F> listIterator()
- Specified by:
listIteratorin interfacejava.util.List<R extends FactoryBase<?,R>>
-
listIterator
public java.util.ListIterator<F> listIterator(int index)
- Specified by:
listIteratorin interfacejava.util.List<R extends FactoryBase<?,R>>
-
subList
public java.util.List<F> subList(int fromIndex, int toIndex)
- Specified by:
subListin interfacejava.util.List<R extends FactoryBase<?,R>>
-
spliterator
public java.util.Spliterator<F> spliterator()
- Specified by:
spliteratorin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
spliteratorin interfacejava.lang.Iterable<R extends FactoryBase<?,R>>- Specified by:
spliteratorin interfacejava.util.List<R extends FactoryBase<?,R>>
-
forEach
public void forEach(java.util.function.Consumer<? super F> action)
- Specified by:
forEachin interfacejava.lang.Iterable<R extends FactoryBase<?,R>>
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
sizein interfacejava.util.List<R extends FactoryBase<?,R>>
-
add
public boolean add(F value)
- Specified by:
addin interfacejava.util.Collection<R extends FactoryBase<?,R>>- Specified by:
addin interfacejava.util.List<R extends FactoryBase<?,R>>
-
defaultExpanded
public A defaultExpanded()
-
internal_isDefaultExpanded
public boolean internal_isDefaultExpanded()
edit hint to show list initial expanded- Returns:
- self
-
internal_visitChildren
public void internal_visitChildren(java.util.function.Consumer<FactoryBase<?,R>> consumer, boolean includeViews)
- Specified by:
internal_visitChildrenin interfaceFactoryChildrenEnclosingAttribute<R extends FactoryBase<?,R>,L>
-
batchModify
public void batchModify(java.util.function.Consumer<java.util.List<F>> batchAction)
add is costly with the change detection and root back reference adding this halt the change detection until batch is ended;- Parameters:
batchAction- batchAction
-
-