Advertisement
Guest User

MessageStyleRegistryModule

a guest
Jan 2nd, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.68 KB | None | 0 0
  1. package com.feeliiix.fundamental.plugin.registry;
  2.  
  3. import static com.google.common.base.Preconditions.checkNotNull;
  4. import static com.google.common.base.Preconditions.checkArgument;
  5.  
  6. import com.feeliiix.fundamental.api.message.style.MessageStyle;
  7. import com.feeliiix.fundamental.api.message.style.MessageStyles;
  8. import com.google.common.collect.ImmutableSet;
  9. import com.google.common.collect.Maps;
  10. import org.spongepowered.api.registry.AdditionalCatalogRegistryModule;
  11.  
  12. import java.util.Collection;
  13. import java.util.Map;
  14. import java.util.Optional;
  15.  
  16. public final class MessageStyleRegistryModule implements AdditionalCatalogRegistryModule<MessageStyle> {
  17.  
  18.     private final Map<String, MessageStyle> messageStyleMap = Maps.newHashMap();
  19.  
  20.     @Override
  21.     public void registerDefaults() {
  22.         this.messageStyleMap.put("none", MessageStyles.NONE);
  23.         this.messageStyleMap.put("normal", MessageStyles.NORMAL);
  24.         this.messageStyleMap.put("success", MessageStyles.SUCCESS);
  25.         this.messageStyleMap.put("warning", MessageStyles.WARNING);
  26.         this.messageStyleMap.put("failure", MessageStyles.FAILURE);
  27.     }
  28.  
  29.     @Override
  30.     public void registerAdditionalCatalog(MessageStyle extraCatalog) {
  31.         checkArgument(!this.messageStyleMap.containsKey(checkNotNull(extraCatalog).getId().toLowerCase()));
  32.         this.messageStyleMap.put(extraCatalog.getId().toLowerCase(), extraCatalog);
  33.     }
  34.  
  35.     @Override
  36.     public Optional<MessageStyle> getById(String id) {
  37.         return Optional.ofNullable(this.messageStyleMap.get(checkNotNull(id).toLowerCase()));
  38.     }
  39.  
  40.     @Override
  41.     public Collection<MessageStyle> getAll() {
  42.         return ImmutableSet.copyOf(this.messageStyleMap.values());
  43.     }
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement