Class StateHolder


  • public final class StateHolder
    extends Object
    Holder for various pieces of state for use in caching.

    In addition to saving the current bot user ID, the following stores are kept in this class:

    • Channel store: long keys and ChannelData values.
    • Guild store: long keys and GuildData values.
    • Guild emoji store: long keys and EmojiData values.
    • Member store: long pair keys and MemberData values.
    • Message store: long keys and MessageData values.
    • Presence store: long pair keys and PresenceUpdate values.
    • Role store: long keys and RoleData values.
    • User store: long keys and UserData values.
    • Voice state store: long pair keys and VoiceStateData values.
    • Constructor Summary

      Constructors 
      Constructor Description
      StateHolder​(discord4j.store.api.service.StoreService service, discord4j.store.api.util.StoreContext context, discord4j.discordjson.possible.Possible<IntentSet> intentSet)  
    • Constructor Detail

      • StateHolder

        public StateHolder​(discord4j.store.api.service.StoreService service,
                           discord4j.store.api.util.StoreContext context,
                           discord4j.discordjson.possible.Possible<IntentSet> intentSet)
    • Method Detail

      • getStoreService

        public discord4j.store.api.service.StoreService getStoreService()
      • getChannelStore

        public discord4j.store.api.primitive.LongObjStore<discord4j.discordjson.json.ChannelData> getChannelStore()
      • getGuildStore

        public discord4j.store.api.primitive.LongObjStore<discord4j.discordjson.json.GuildData> getGuildStore()
      • getGuildEmojiStore

        public discord4j.store.api.primitive.LongObjStore<discord4j.discordjson.json.EmojiData> getGuildEmojiStore()
      • getMemberStore

        public discord4j.store.api.Store<discord4j.store.api.util.LongLongTuple2,​discord4j.discordjson.json.MemberData> getMemberStore()
      • getMessageStore

        public discord4j.store.api.primitive.LongObjStore<discord4j.discordjson.json.MessageData> getMessageStore()
      • getPresenceStore

        public discord4j.store.api.Store<discord4j.store.api.util.LongLongTuple2,​discord4j.discordjson.json.PresenceData> getPresenceStore()
      • getRoleStore

        public discord4j.store.api.primitive.LongObjStore<discord4j.discordjson.json.RoleData> getRoleStore()
      • getUserStore

        public discord4j.store.api.primitive.LongObjStore<discord4j.discordjson.json.UserData> getUserStore()
      • getVoiceStateStore

        public discord4j.store.api.Store<discord4j.store.api.util.LongLongTuple2,​discord4j.discordjson.json.VoiceStateData> getVoiceStateStore()
      • invalidateStores

        public Mono<Void> invalidateStores()