Class OpenContext

java.lang.Object
me.devnatan.inventoryframework.state.DefaultStateValueHost
me.devnatan.inventoryframework.context.PlatformContext
me.devnatan.inventoryframework.context.PlatformConfinedContext
me.devnatan.inventoryframework.context.OpenContext
All Implemented Interfaces:
Iterable<me.devnatan.inventoryframework.component.Component>, me.devnatan.inventoryframework.component.ComponentContainer, Context, me.devnatan.inventoryframework.context.IFConfinedContext, me.devnatan.inventoryframework.context.IFContext, me.devnatan.inventoryframework.context.IFOpenContext, me.devnatan.inventoryframework.state.StateValueHost, me.devnatan.inventoryframework.VirtualView

public class OpenContext extends me.devnatan.inventoryframework.context.PlatformConfinedContext implements me.devnatan.inventoryframework.context.IFOpenContext, Context
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected me.devnatan.inventoryframework.ViewConfig
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    OpenContext(@NotNull View root, @Nullable me.devnatan.inventoryframework.Viewer subject, @NotNull Map<String,me.devnatan.inventoryframework.Viewer> viewers, Object initialData)
    Creates a new open context instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addComponent(me.devnatan.inventoryframework.component.Component arg0)
     
    final void
    addViewer(me.devnatan.inventoryframework.Viewer arg0)
     
    List<org.bukkit.entity.Player>
    This API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.
     
    List<me.devnatan.inventoryframework.component.Component>
     
    List<me.devnatan.inventoryframework.component.Component>
    getComponentsAt(int arg0)
     
    final @NotNull me.devnatan.inventoryframework.ViewConfig
     
    me.devnatan.inventoryframework.ViewContainer
     
    final @NotNull UUID
     
    final @NotNull Map<String,me.devnatan.inventoryframework.Viewer>
     
    final Object
     
    final String
     
    List<me.devnatan.inventoryframework.component.Component>
     
    final me.devnatan.inventoryframework.ViewConfig
     
    final @NotNull org.bukkit.entity.Player
    The player that's currently opening the view.
    final @NotNull View
     
    me.devnatan.inventoryframework.Viewer
     
    final List<me.devnatan.inventoryframework.Viewer>
     
    final boolean
     
    final boolean
     
    final Iterator<me.devnatan.inventoryframework.component.Component>
     
    final @NotNull me.devnatan.inventoryframework.ViewConfigBuilder
     
    void
    performClickInComponent(me.devnatan.inventoryframework.component.Component arg0, me.devnatan.inventoryframework.Viewer arg1, me.devnatan.inventoryframework.ViewContainer arg2, Object arg3, int arg4, boolean arg5)
     
    void
    removeComponent(me.devnatan.inventoryframework.component.Component arg0)
     
    final void
    removeViewer(me.devnatan.inventoryframework.Viewer arg0)
     
    void
    renderComponent(me.devnatan.inventoryframework.component.Component arg0)
     
    void
    resetTitleForPlayer(@NotNull org.bukkit.entity.Player player)
    Resets the container title only for the player current scope of execution to the initially defined title.
    final void
    setCancelled(boolean cancelled)
     
    void
    setContainer(me.devnatan.inventoryframework.ViewContainer container)
     
    void
    setInitialData(Object initialData)
     
    (package private) final void
     
    (package private) final void
     
    void
     
    void
    updateComponent(me.devnatan.inventoryframework.component.Component arg0, boolean arg1)
     
    void
    updateTitleForPlayer(@NotNull String title, @NotNull org.bukkit.entity.Player player)
    Updates the container title for a specific player.
    final void
     

    Methods inherited from class me.devnatan.inventoryframework.context.PlatformConfinedContext

    back, back, canBack, closeForPlayer, openForPlayer, openForPlayer, resetTitleForPlayer, updateTitleForPlayer

    Methods inherited from class me.devnatan.inventoryframework.context.PlatformContext

    closeForEveryone, getContainerOrThrow, getTitle, getUpdatedTitle, isActive, isEndless, openForEveryone, openForEveryone, resetTitleForEveryone, setActive, setEndless, toString, updateTitleForEveryone

    Methods inherited from class me.devnatan.inventoryframework.state.DefaultStateValueHost

    getInternalStateValue, getRawStateValue, getStateValues, getUninitializedStateValue, initializeState, updateState, watchState

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface me.devnatan.inventoryframework.component.ComponentContainer

    getComponents, getInternalComponents

    Methods inherited from interface me.devnatan.inventoryframework.context.IFConfinedContext

    back, back, canBack, closeForPlayer, openForPlayer, openForPlayer, resetTitleForPlayer, updateTitleForPlayer

    Methods inherited from interface me.devnatan.inventoryframework.context.IFContext

    addComponent, addViewer, closeForEveryone, getComponentsAt, getInitialTitle, getViewers, isActive, isEndless, isShared, openForEveryone, openForEveryone, performClickInComponent, removeComponent, removeViewer, renderComponent, resetTitleForEveryone, setActive, setEndless, update, updateComponent, updateTitleForEveryone

    Methods inherited from interface java.lang.Iterable

    forEach, iterator, spliterator

    Methods inherited from interface me.devnatan.inventoryframework.state.StateValueHost

    getInternalStateValue, getRawStateValue, getStateValues, getUninitializedStateValue, initializeState, updateState, watchState
  • Field Details

    • config

      protected me.devnatan.inventoryframework.ViewConfig config
  • Constructor Details

    • OpenContext

      @Internal public OpenContext(@NotNull @NotNull View root, @Nullable @Nullable me.devnatan.inventoryframework.Viewer subject, @NotNull @NotNull Map<String,me.devnatan.inventoryframework.Viewer> viewers, Object initialData)
      Creates a new open context instance.

      This is an internal inventory-framework API that should not be used from outside of this library. No compatibility guarantees are provided.

      Parameters:
      root - Root view that will be owner of the upcoming render context.
      subject - The viewer that is opening the view.
      viewers - Who'll be the viewers of this context, if this parameter is provided it means that this context is a shared context. Must be provided even in non-shared context cases.
      initialData - Initial data provided by the user.
  • Method Details

    • getPlayer

      @NotNull public final @NotNull org.bukkit.entity.Player getPlayer()
      The player that's currently opening the view.
      Specified by:
      getPlayer in interface Context
      Returns:
      The player that is opening the view.
      Throws:
      me.devnatan.inventoryframework.UnsupportedOperationInSharedContextException - If this context is shared.
    • getAllPlayers

      public List<org.bukkit.entity.Player> getAllPlayers()
      Description copied from interface: Context

      This API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.

      Specified by:
      getAllPlayers in interface Context
    • updateTitleForPlayer

      public void updateTitleForPlayer(@NotNull @NotNull String title, @NotNull @NotNull org.bukkit.entity.Player player)
      Description copied from interface: Context
      Updates the container title for a specific player.

      This should not be used before the container is opened, if you need to set the __initial title__ use IFOpenContext.modifyConfig() on open handler instead.

      This method is version dependant, so it may be that your server version is not yet supported, if you try to use this method and fail (can fail silently), report it to the library developers to add support to your version.

      This API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.

      Specified by:
      updateTitleForPlayer in interface Context
      Parameters:
      title - The new container title.
      player - The player to update the title.
    • resetTitleForPlayer

      public void resetTitleForPlayer(@NotNull @NotNull org.bukkit.entity.Player player)
      Description copied from interface: Context
      Resets the container title only for the player current scope of execution to the initially defined title. Must be used after Context.updateTitleForPlayer(String, Player) to take effect.

      This API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.

      Specified by:
      resetTitleForPlayer in interface Context
      Parameters:
      player - The player to reset the title.
    • isCancelled

      public final boolean isCancelled()
      Specified by:
      isCancelled in interface me.devnatan.inventoryframework.context.IFOpenContext
    • setCancelled

      public final void setCancelled(boolean cancelled)
      Specified by:
      setCancelled in interface me.devnatan.inventoryframework.context.IFOpenContext
    • getAsyncOpenJob

      public final CompletableFuture<Void> getAsyncOpenJob()
      Specified by:
      getAsyncOpenJob in interface me.devnatan.inventoryframework.context.IFOpenContext
    • getRoot

      @NotNull public final @NotNull View getRoot()
      Specified by:
      getRoot in interface me.devnatan.inventoryframework.context.IFContext
      Specified by:
      getRoot in class me.devnatan.inventoryframework.context.PlatformContext
    • getIndexedViewers

      @NotNull public final @NotNull Map<String,me.devnatan.inventoryframework.Viewer> getIndexedViewers()
      Specified by:
      getIndexedViewers in interface me.devnatan.inventoryframework.context.IFContext
    • getId

      @NotNull public final @NotNull UUID getId()
      Specified by:
      getId in interface me.devnatan.inventoryframework.context.IFContext
    • getInitialData

      public final Object getInitialData()
      Specified by:
      getInitialData in interface me.devnatan.inventoryframework.context.IFContext
    • setInitialData

      public void setInitialData(Object initialData)
      Specified by:
      setInitialData in interface me.devnatan.inventoryframework.context.IFContext
    • waitUntil

      public final void waitUntil(@NotNull @NotNull CompletableFuture<Void> task)
      Specified by:
      waitUntil in interface me.devnatan.inventoryframework.context.IFOpenContext
    • getConfig

      @NotNull public final @NotNull me.devnatan.inventoryframework.ViewConfig getConfig()
      Specified by:
      getConfig in interface me.devnatan.inventoryframework.context.IFContext
    • getModifiedConfig

      public final me.devnatan.inventoryframework.ViewConfig getModifiedConfig()
      Specified by:
      getModifiedConfig in interface me.devnatan.inventoryframework.context.IFOpenContext
    • modifyConfig

      @NotNull public final @NotNull me.devnatan.inventoryframework.ViewConfigBuilder modifyConfig()
      Specified by:
      modifyConfig in interface me.devnatan.inventoryframework.context.IFOpenContext
    • getViewer

      public me.devnatan.inventoryframework.Viewer getViewer()
      Specified by:
      getViewer in interface me.devnatan.inventoryframework.context.IFConfinedContext
      Specified by:
      getViewer in class me.devnatan.inventoryframework.context.PlatformConfinedContext
    • getContainer

      public me.devnatan.inventoryframework.ViewContainer getContainer()
      Specified by:
      getContainer in interface me.devnatan.inventoryframework.context.IFOpenContext
    • setContainer

      public void setContainer(me.devnatan.inventoryframework.ViewContainer container)
      Specified by:
      setContainer in interface me.devnatan.inventoryframework.context.IFOpenContext
    • getViewers

      @NotNull public final List<me.devnatan.inventoryframework.Viewer> getViewers()
      Specified by:
      getViewers in interface me.devnatan.inventoryframework.context.IFContext
    • addViewer

      public final void addViewer(@NotNull me.devnatan.inventoryframework.Viewer arg0)
      Specified by:
      addViewer in interface me.devnatan.inventoryframework.context.IFContext
    • removeViewer

      public final void removeViewer(@NotNull me.devnatan.inventoryframework.Viewer arg0)
      Specified by:
      removeViewer in interface me.devnatan.inventoryframework.context.IFContext
    • getInitialTitle

      @NotNull public final String getInitialTitle()
      Specified by:
      getInitialTitle in interface me.devnatan.inventoryframework.context.IFContext
    • getComponents

      @NotNull public List<me.devnatan.inventoryframework.component.Component> getComponents()
      Specified by:
      getComponents in interface me.devnatan.inventoryframework.component.ComponentContainer
    • getInternalComponents

      public List<me.devnatan.inventoryframework.component.Component> getInternalComponents()
      Specified by:
      getInternalComponents in interface me.devnatan.inventoryframework.component.ComponentContainer
    • getComponentsAt

      public List<me.devnatan.inventoryframework.component.Component> getComponentsAt(int arg0)
      Specified by:
      getComponentsAt in interface me.devnatan.inventoryframework.context.IFContext
    • addComponent

      public void addComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0)
      Specified by:
      addComponent in interface me.devnatan.inventoryframework.context.IFContext
    • removeComponent

      public void removeComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0)
      Specified by:
      removeComponent in interface me.devnatan.inventoryframework.context.IFContext
    • renderComponent

      public void renderComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0)
      Specified by:
      renderComponent in interface me.devnatan.inventoryframework.context.IFContext
    • updateComponent

      public void updateComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0, boolean arg1)
      Specified by:
      updateComponent in interface me.devnatan.inventoryframework.context.IFContext
    • performClickInComponent

      public void performClickInComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0, @NotNull me.devnatan.inventoryframework.Viewer arg1, @NotNull me.devnatan.inventoryframework.ViewContainer arg2, Object arg3, int arg4, boolean arg5)
      Specified by:
      performClickInComponent in interface me.devnatan.inventoryframework.context.IFContext
    • update

      public void update()
      Specified by:
      update in interface me.devnatan.inventoryframework.context.IFContext
    • isShared

      public final boolean isShared()
      Specified by:
      isShared in interface me.devnatan.inventoryframework.context.IFContext
    • iterator

      @NotNull public final Iterator<me.devnatan.inventoryframework.component.Component> iterator()
      Specified by:
      iterator in interface Iterable<me.devnatan.inventoryframework.component.Component>
    • tryThrowDoNotWorkWithSharedContext

      final void tryThrowDoNotWorkWithSharedContext()
    • tryThrowDoNotWorkWithSharedContext

      final void tryThrowDoNotWorkWithSharedContext(String arg0)