MimeHeaders.java :  » Chat-Messenger » android-chatter-client » com » mavens » xml » soap » Android Open Source

Android Open Source » Chat Messenger » android chatter client 
android chatter client » com » mavens » xml » soap » MimeHeaders.java
/*     */ package com.mavens.xml.soap;
/*     */ 
/*     */ import java.util.Iterator;
/*     */ import java.util.Vector;
/*     */ 
/*     */ public class MimeHeaders
/*     */ {
/*     */   private Vector headers;
/*     */ 
/*     */   public MimeHeaders()
/*     */   {
/* 184 */     this.headers = new Vector();
/*     */   }
/*     */ 
/*     */   public String[] getHeader(String name)
/*     */   {
/* 198 */     Vector vector = new Vector();
/*     */ 
/* 200 */     for (int i = 0; i < this.headers.size(); ++i) {
/* 201 */       MimeHeader mimeheader = (MimeHeader)this.headers.elementAt(i);
/*     */ 
/* 203 */       if ((!(mimeheader.getName().equalsIgnoreCase(name))) || (mimeheader.getValue() == null))
/*     */         continue;
/* 205 */       vector.addElement(mimeheader.getValue());
/*     */     }
/*     */ 
/* 209 */     if (vector.size() == 0) {
/* 210 */       return null;
/*     */     }
/* 212 */     String[] as = new String[vector.size()];
/*     */ 
/* 214 */     vector.copyInto(as);
/*     */ 
/* 216 */     return as;
/*     */   }
/*     */ 
/*     */   public void setHeader(String name, String value)
/*     */   {
/* 239 */     boolean flag = false;
/*     */ 
/* 241 */     if ((name == null) || (name.equals(""))) {
/* 242 */       throw new IllegalArgumentException("Illegal MimeHeader name");
/*     */     }
/*     */ 
/* 246 */     for (int i = 0; i < this.headers.size(); ++i) {
/* 247 */       MimeHeader mimeheader = (MimeHeader)this.headers.elementAt(i);
/*     */ 
/* 249 */       if (mimeheader.getName().equalsIgnoreCase(name)) {
/* 250 */         if (!(flag)) {
/* 251 */           this.headers.setElementAt(new MimeHeader(mimeheader.getName(), value), i);
/*     */ 
/* 254 */           flag = true;
/*     */         } else {
/* 256 */           this.headers.removeElementAt(i--);
/*     */         }
/*     */       }
/*     */     }
/*     */ 
/* 261 */     if (!(flag))
/* 262 */       addHeader(name, value);
/*     */   }
/*     */ 
/*     */   public void addHeader(String name, String value)
/*     */   {
/* 283 */     if ((name == null) || (name.equals(""))) {
/* 284 */       throw new IllegalArgumentException("Illegal MimeHeader name");
/*     */     }
/*     */ 
/* 288 */     int i = this.headers.size();
/*     */ 
/* 290 */     for (int j = i - 1; j >= 0; --j) {
/* 291 */       MimeHeader mimeheader = (MimeHeader)this.headers.elementAt(j);
/*     */ 
/* 293 */       if (mimeheader.getName().equalsIgnoreCase(name)) {
/* 294 */         this.headers.insertElementAt(new MimeHeader(name, value), j + 1);
/*     */ 
/* 296 */         return;
/*     */       }
/*     */     }
/*     */ 
/* 300 */     this.headers.addElement(new MimeHeader(name, value));
/*     */   }
/*     */ 
/*     */   public void removeHeader(String name)
/*     */   {
/* 311 */     for (int i = 0; i < this.headers.size(); ++i) {
/* 312 */       MimeHeader mimeheader = (MimeHeader)this.headers.elementAt(i);
/*     */ 
/* 314 */       if (mimeheader.getName().equalsIgnoreCase(name))
/* 315 */         this.headers.removeElementAt(i--);
/*     */     }
/*     */   }
/*     */ 
/*     */   public void removeAllHeaders()
/*     */   {
/* 325 */     this.headers.removeAllElements();
/*     */   }
/*     */ 
/*     */   public Iterator getAllHeaders()
/*     */   {
/* 336 */     return this.headers.iterator();
/*     */   }
/*     */ 
/*     */   public Iterator getMatchingHeaders(String[] names)
/*     */   {
/* 349 */     return new MatchingIterator(names, true);
/*     */   }
/*     */ 
/*     */   public Iterator getNonMatchingHeaders(String[] names)
/*     */   {
/* 362 */     return new MatchingIterator(names, false);
/*     */   }
/*     */ 
/*     */   class MatchingIterator
/*     */     implements Iterator
/*     */   {
/*     */     private boolean match;
/*     */     private Iterator iterator;
/*     */     private String[] names;
/*     */     private Object nextHeader;
/*     */ 
/*     */     private Object nextMatch()
/*     */     {
/*  85 */       while (this.iterator.hasNext()) {
/*  86 */         MimeHeader mimeheader = (MimeHeader)this.iterator.next();
/*     */ 
/*  88 */         if (this.names == null) {
/*  89 */           return ((this.match) ? null : mimeheader);
/*     */         }
/*     */ 
/*  94 */         for (int i = 0; i < this.names.length; ++i) {
/*  95 */           if (!(mimeheader.getName().equalsIgnoreCase(this.names[i]))) {
/*     */             continue;
/*     */           }
/*     */ 
/*  99 */           if (!(this.match)) break;
/* 100 */           return mimeheader;
/*     */         }
/*     */ 
/* 106 */         label90: if (!(this.match)) {
/* 107 */           return mimeheader;
/*     */         }
/*     */       }
/*     */ 
/* 111 */       return null;
/*     */     }
/*     */ 
/*     */     public boolean hasNext()
/*     */     {
/* 120 */       if (this.nextHeader == null) {
/* 121 */         this.nextHeader = nextMatch();
/*     */       }
/*     */ 
/* 124 */       return (this.nextHeader != null);
/*     */     }
/*     */ 
/*     */     public Object next()
/*     */     {
/* 133 */       if (this.nextHeader != null) {
/* 134 */         Object obj = this.nextHeader;
/*     */ 
/* 136 */         this.nextHeader = null;
/*     */ 
/* 138 */         return obj;
/*     */       }
/*     */ 
/* 141 */       if (hasNext()) {
/* 142 */         return this.nextHeader;
/*     */       }
/* 144 */       return null;
/*     */     }
/*     */ 
/*     */     public void remove()
/*     */     {
/* 150 */       this.iterator.remove();
/*     */     }
/*     */ 
/*     */     MatchingIterator(String[] as, boolean flag)
/*     */     {
/* 172 */       this.match = flag;
/* 173 */       this.names = as;
/* 174 */       this.iterator = MimeHeaders.this.headers.iterator();
/*     */     }
/*     */   }
/*     */ }

/* Location:           /Users/josephferraro/Downloads/sforcedataloader.jar
 * Qualified Name:     com.mavens.xml.soap.MimeHeaders
 * JD-Core Version:    0.5.3
 */
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.