Class ReferenceBaseAttribute<R extends FactoryBase<?,​R>,​F extends FactoryBase<?,​R>,​U,​A extends ReferenceBaseAttribute<R,​F,​U,​A>>

    • Constructor Detail

      • ReferenceBaseAttribute

        public ReferenceBaseAttribute()
    • Method Detail

      • possibleValueProvider

        public A possibleValueProvider​(java.util.function.Function<R,​java.util.Collection<F>> provider)
        customise the list of selectable items
        Parameters:
        provider - provider
        Returns:
        self
      • internal_possibleValues

        public java.util.Collection<F> internal_possibleValues()
      • newValuesProvider

        @Deprecated
        public A newValuesProvider​(java.util.function.Function<FactoryBase<?,​?>,​java.util.List<F>> newValuesProvider)
        Deprecated.
        customise how new values are created
        Parameters:
        newValuesProvider - value, root
        Returns:
        the new added factory Deprecated use newValuesProvider(BiFunction... ) instead
      • newValuesProvider

        public A newValuesProvider​(java.util.function.BiFunction<FactoryBase<?,​?>,​A,​java.util.List<F>> newValuesProviderFromRootAndAttribute)
        customise how new values are created
        Parameters:
        newValuesProviderFromRootAndAttribute - root, attribute to List.of(T)
        Returns:
        the new added factory
      • additionalDeleteAction

        public A additionalDeleteAction​(java.util.function.BiConsumer<F,​FactoryBase<?,​?>> additionalDeleteAction)
        action after delete, e.g delete the factory also in other lists
        Parameters:
        additionalDeleteAction - deleted value, root
        Returns:
        self
      • userNotSelectable

        public A userNotSelectable()
        disable select for reference, used in gui to disable the select button so that the user can't select new factories in this attribute
        Returns:
        self
      • internal_isUserSelectable

        public boolean internal_isUserSelectable()
      • userNotCreatable

        public A userNotCreatable()
        disable new for reference, used in gui to disable the new button so that the user can't create new factories in this attribute
        Returns:
        self
      • internal_isUserCreatable

        public boolean internal_isUserCreatable()
      • internal_getCopySemantic

        public CopySemantic internal_getCopySemantic()
      • internal_getReferenceClass

        public java.lang.Class<F> internal_getReferenceClass()
      • catalogueBased

        public A catalogueBased()
        reference is a selection from a catalogue
        Returns:
        self
      • internal_isCatalogueBased

        public boolean internal_isCatalogueBased()
      • internal_createNewPossibleValues

        public java.util.List<F> internal_createNewPossibleValues()