Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*     */ package org.apache.commons.collections.list;
  /*     */ 
  /*     */ import java.util.ArrayList;
  /*     */ import java.util.Collection;
  /*     */ import java.util.HashSet;
  /*     */ import java.util.Iterator;
  /*     */ import java.util.List;
  /*     */ import java.util.ListIterator;
  /*     */ import java.util.Set;
 /*     */ 
 /*     */ public class SetUniqueList extends AbstractSerializableListDecorator
 /*     */ {
 /*     */   private static final long serialVersionUID = 7196982186153478694L;
 /*     */   protected final Set set;
 /*     */ 
 /*     */   public static SetUniqueList decorate(List list)
 /*     */   {
 /*  71 */     if (list == null) {
 /*  72 */       throw new IllegalArgumentException("List must not be null");
 /*     */     }
 /*  74 */     if (list.isEmpty()) {
 /*  75 */       return new SetUniqueList(listnew HashSet());
 /*     */     }
 /*  77 */     List temp = new ArrayList(list);
 /*  78 */     list.clear();
 /*  79 */     SetUniqueList sl = new SetUniqueList(listnew HashSet());
 /*  80 */     sl.addAll(temp);
 /*  81 */     return sl;
 /*     */   }
 /*     */ 
 /*     */   protected SetUniqueList(List listSet set)
 /*     */   {
 /*  96 */     super(list);
 /*  97 */     if (set == null) {
 /*  98 */       throw new IllegalArgumentException("Set must not be null");
 /*     */     }
 /* 100 */     this. = set;
 /*     */   }
 /*     */ 
 /*     */   public Set asSet()
 /*     */   {
 /* 110 */     return UnmodifiableSet.decorate(this.);
 /*     */   }
 /*     */ 
 /*     */   public boolean add(Object object)
 /*     */   {
 /* 127 */     int sizeBefore = size();
 /*     */ 
 /* 130 */     add(size(), object);
 /*     */ 
 /* 133 */     return sizeBefore != size();
 /*     */   }
 /*     */ 
 /*     */   public void add(int indexObject object)
 /*     */   {
 /* 148 */     if (!this..contains(object)) {
 /* 149 */       super.add(indexobject);
 /* 150 */       this..add(object);
 /*     */     }
 /*     */   }
 /*     */ 
 /*     */   public boolean addAll(Collection coll)
 /*     */   {
 /* 164 */     return addAll(size(), coll);
 /*     */   }
 /*     */ 
 /*     */   public boolean addAll(int indexCollection coll)
 /*     */   {
 /* 183 */     int sizeBefore = size();
 /*     */ 
 /* 186 */     for (Iterator it = coll.iterator(); it.hasNext(); ) {
 /* 187 */       add(it.next());
 /*     */     }
 /*     */ 
 /* 191 */     return sizeBefore != size();
 /*     */   }
 /*     */ 
 /*     */   public Object set(int indexObject object)
 /*     */   {
 /* 208 */     int pos = indexOf(object);
 /* 209 */     Object result = super.set(indexobject);
 /* 210 */     if ((pos == -1) || (pos == index)) {
 /* 211 */       return result;
 /*     */     }
 /* 213 */     return remove(pos);
 /*     */   }
 /*     */ 
 /*     */   public boolean remove(Object object) {
 /* 217 */     boolean result = super.remove(object);
 /* 218 */     this..remove(object);
 /* 219 */     return result;
 /*     */   }
 /*     */ 
 /*     */   public Object remove(int index) {
 /* 223 */     Object result = super.remove(index);
 /* 224 */     this..remove(result);
/* 225 */     return result;
/*     */   }
/*     */ 
/*     */   public boolean removeAll(Collection coll) {
/* 229 */     boolean result = super.removeAll(coll);
/* 230 */     this..removeAll(coll);
/* 231 */     return result;
/*     */   }
/*     */ 
/*     */   public boolean retainAll(Collection coll) {
/* 235 */     boolean result = super.retainAll(coll);
/* 236 */     this..retainAll(coll);
/* 237 */     return result;
/*     */   }
/*     */ 
/*     */   public void clear() {
/* 241 */     super.clear();
/* 242 */     this..clear();
/*     */   }
/*     */ 
/*     */   public boolean contains(Object object) {
/* 246 */     return this..contains(object);
/*     */   }
/*     */ 
/*     */   public boolean containsAll(Collection coll) {
/* 250 */     return this..containsAll(coll);
/*     */   }
/*     */ 
/*     */   public Iterator iterator() {
/* 254 */     return new SetListIterator(super.iterator(), this.);
/*     */   }
/*     */ 
/*     */   public ListIterator listIterator() {
/* 258 */     return new SetListListIterator(super.listIterator(), this.);
/*     */   }
/*     */ 
/*     */   public ListIterator listIterator(int index) {
/* 262 */     return new SetListListIterator(super.listIterator(index), this.);
/*     */   }
/*     */ 
/*     */   public List subList(int fromIndexint toIndex) {
/* 266 */     return new SetUniqueList(super.subList(fromIndextoIndex), this.);
/*     */   }
/*     */ 
/*     */   static class SetListListIterator extends AbstractListIteratorDecorator
/*     */   {
/*     */     protected final Set set;
/* 301 */     protected Object last = null;
/*     */ 
/*     */     protected SetListListIterator(ListIterator itSet set) {
/* 304 */       super();
/* 305 */       this. = set;
/*     */     }
/*     */ 
/*     */     public Object next() {
/* 309 */       this. = super.next();
/* 310 */       return this.;
/*     */     }
/*     */ 
/*     */     public Object previous() {
/* 314 */       this. = super.previous();
/* 315 */       return this.;
/*     */     }
/*     */ 
/*     */     public void remove() {
/* 319 */       super.remove();
/* 320 */       this..remove(this.);
/* 321 */       this. = null;
/*     */     }
/*     */ 
/*     */     public void add(Object object) {
/* 325 */       if (!this..contains(object)) {
/* 326 */         super.add(object);
/* 327 */         this..add(object);
/*     */       }
/*     */     }
/*     */ 
/*     */     public void set(Object object) {
/* 332 */       throw new UnsupportedOperationException("ListIterator does not support set");
/*     */     }
/*     */   }
/*     */ 
/*     */   static class SetListIterator extends AbstractIteratorDecorator
/*     */   {
/*     */     protected final Set set;
/* 276 */     protected Object last = null;
/*     */ 
/*     */     protected SetListIterator(Iterator itSet set) {
/* 279 */       super();
/* 280 */       this. = set;
/*     */     }
/*     */ 
/*     */     public Object next() {
/* 284 */       this. = super.next();
/* 285 */       return this.;
/*     */     }
/*     */ 
/*     */     public void remove() {
/* 289 */       super.remove();
/* 290 */       this..remove(this.);
/* 291 */       this. = null;
/*     */     }
/*     */   }
/*     */ }
/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/thirdparty-all.jar
 * Qualified Name:     org.apache.commons.collections.list.SetUniqueList
 * JD-Core Version:    0.6.0
 */
New to GrepCode? Check out our FAQ X