Advertisement
Superloup10

NonNullList.java

Nov 16th, 2016
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.94 KB | None | 0 0
  1. package net.minecraft.util;
  2.  
  3. import java.util.AbstractList;
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6. import java.util.List;
  7. import javax.annotation.Nonnull;
  8. import javax.annotation.Nullable;
  9. import org.apache.commons.lang3.Validate;
  10.  
  11. public class NonNullList<E> extends AbstractList<E>
  12. {
  13.     private final List<E> field_191198_a;
  14.     private final E field_191199_b;
  15.  
  16.     public static <E> NonNullList<E> func_191196_a()
  17.     {
  18.         return new NonNullList();
  19.     }
  20.  
  21.     public static <E> NonNullList<E> func_191197_a(int p_191197_0_, E p_191197_1_)
  22.     {
  23.         Validate.notNull(p_191197_1_);
  24.         Object[] aobject = new Object[p_191197_0_];
  25.         Arrays.fill(aobject, p_191197_1_);
  26.         return new NonNullList(Arrays.asList(aobject), p_191197_1_);
  27.     }
  28.  
  29.     protected NonNullList()
  30.     {
  31.         this(new ArrayList(), null);
  32.     }
  33.  
  34.     protected NonNullList(List<E> p_i47327_1_, @Nullable E p_i47327_2_)
  35.     {
  36.         this.field_191198_a = p_i47327_1_;
  37.         this.field_191199_b = p_i47327_2_;
  38.     }
  39.  
  40.     @Nonnull
  41.     public E get(int p_get_1_)
  42.     {
  43.         return this.field_191198_a.get(p_get_1_);
  44.     }
  45.  
  46.     public E set(int p_set_1_, E p_set_2_)
  47.     {
  48.         Validate.notNull(p_set_2_);
  49.         return this.field_191198_a.set(p_set_1_, p_set_2_);
  50.     }
  51.  
  52.     public void add(int p_add_1_, E p_add_2_)
  53.     {
  54.         Validate.notNull(p_add_2_);
  55.         this.field_191198_a.add(p_add_1_, p_add_2_);
  56.     }
  57.  
  58.     public E remove(int p_remove_1_)
  59.     {
  60.         return this.field_191198_a.remove(p_remove_1_);
  61.     }
  62.  
  63.     public int size()
  64.     {
  65.         return this.field_191198_a.size();
  66.     }
  67.  
  68.     public void clear()
  69.     {
  70.         if (this.field_191199_b == null)
  71.         {
  72.             super.clear();
  73.         }
  74.         else
  75.         {
  76.             for (int i = 0; i < this.size(); ++i)
  77.             {
  78.                 this.set(i, this.field_191199_b);
  79.             }
  80.         }
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement