Class ArchetypeChooserFolder<G extends GameObject<G,​A,​R>,​A extends MapArchObject<A>,​R extends Archetype<G,​A,​R>>

  • All Implemented Interfaces:
    java.io.Serializable

    public class ArchetypeChooserFolder<G extends GameObject<G,​A,​R>,​A extends MapArchObject<A>,​R extends Archetype<G,​A,​R>>
    extends java.lang.Object
    implements java.io.Serializable
    A named folder within the ArchetypeChooserModel. A folder consists of a set of Archetypes. One (or no) archetype may be selected at any time.
    See Also:
    Serialized Form
    • Constructor Detail

      • ArchetypeChooserFolder

        public ArchetypeChooserFolder​(@NotNull
                                      @NotNull java.lang.String name)
        Creates a new instance.
        Parameters:
        name - the folder name
    • Method Detail

      • addArchetypeChooserFolderListener

        public void addArchetypeChooserFolderListener​(@NotNull
                                                      @NotNull ArchetypeChooserFolderListener<G,​A,​R> listener)
        Adds a listener to be notified of changes.
        Parameters:
        listener - the listener
      • removeArchetypeChooserFolderListener

        public void removeArchetypeChooserFolderListener​(@NotNull
                                                         @NotNull ArchetypeChooserFolderListener<G,​A,​R> listener)
        Removes a listener to be notified of changes.
        Parameters:
        listener - the listener
      • getName

        @NotNull
        public @NotNull java.lang.String getName()
        Returns the folder name.
        Returns:
        the folder name
      • getArchetypes

        @NotNull
        public @NotNull java.util.Collection<R> getArchetypes()
        Returns the Archetypes.
        Returns:
        the archetypes in no particular order
      • addArchetype

        public void addArchetype​(@NotNull
                                 R archetype)
        Adds an Archetype to this folder.
        Parameters:
        archetype - the archetype to add
      • getSelectedArchetype

        @Nullable
        public R getSelectedArchetype()
        Returns the selected Archetype.
        Returns:
        the selected archetype or null if none is selected
      • setSelectedArchetype

        public void setSelectedArchetype​(@Nullable
                                         R selectedArchetype)
        Sets the selected Archetype.
        Parameters:
        selectedArchetype - the selected archetype or null if none is selected
      • containsArchetype

        public boolean containsArchetype​(@NotNull
                                         R archetype)
        Returns whether an Archetype is part of this folder.
        Parameters:
        archetype - the archetype
        Returns:
        whether the archetype is part of this folder