Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*     */ package com.sun.xml.bind.v2.runtime.unmarshaller;
  /*     */ 
  /*     */ import com.sun.istack.Nullable;
  /*     */ import com.sun.xml.bind.DatatypeConverterImpl;
  /*     */ import com.sun.xml.bind.v2.runtime.output.Pcdata;
  /*     */ import java.io.ByteArrayInputStream;
  /*     */ import java.io.IOException;
 /*     */ import java.io.InputStream;
 /*     */ import java.io.OutputStream;
 /*     */ import javax.activation.DataHandler;
 /*     */ import javax.activation.DataSource;
 /*     */ 
 /*     */ public final class Base64Data extends Pcdata
 /*     */ {
 /*     */   private DataHandler dataHandler;
 /*     */   private byte[] data;
 /*     */   private int dataLen;
 /*     */ 
 /*     */   @Nullable
 /*     */   private String mimeType;
 /*     */ 
 /*     */   public void set(byte[] dataint len, @Nullable String mimeType)
 /*     */   {
 /*  98 */     this. = data;
 /*  99 */     this. = len;
 /* 100 */     this. = null;
 /* 101 */     this. = mimeType;
 /*     */   }
 /*     */ 
 /*     */   public void set(byte[] data, @Nullable String mimeType)
 /*     */   {
 /* 111 */     set(datadata.lengthmimeType);
 /*     */   }
 /*     */ 
 /*     */   public void set(DataHandler data)
 /*     */   {
 /* 118 */     assert (data != null);
 /* 119 */     this. = data;
 /* 120 */     this. = null;
 /*     */   }
 /*     */ 
 /*     */   public DataHandler getDataHandler()
 /*     */   {
 /* 127 */     if (this. == null) {
 /* 128 */       this. = new DataHandler(new DataSource() {
 /*     */         public String getContentType() {
 /* 130 */           return Base64Data.this.getMimeType();
 /*     */         }
 /*     */ 
 /*     */         public InputStream getInputStream() {
 /* 134 */           return new ByteArrayInputStream(Base64Data.this., 0, Base64Data.this.);
 /*     */         }
 /*     */ 
 /*     */         public String getName() {
 /* 138 */           return null;
 /*     */         }
 /*     */ 
 /*     */         public OutputStream getOutputStream() {
 /* 142 */           throw new UnsupportedOperationException();
 /*     */         }
 /*     */       });
 /*     */     }
 /* 147 */     return this.;
 /*     */   }
 /*     */ 
 /*     */   public byte[] getExact()
 /*     */   {
 /* 154 */     get();
 /* 155 */     if (this. != this..length) {
 /* 156 */       byte[] buf = new byte[this.];
 /* 157 */       System.arraycopy(this., 0, buf, 0, this.);
 /* 158 */       this. = buf;
 /*     */     }
 /* 160 */     return this.;
 /*     */   }
 /*     */ 
 /*     */   public InputStream getInputStream()
 /*     */     throws IOException
 /*     */   {
 /* 167 */     if (this. != null) {
 /* 168 */       return this..getInputStream();
 /*     */     }
 /* 170 */     return new ByteArrayInputStream(this., 0, this.);
 /*     */   }
 /*     */ 
 /*     */   public boolean hasData()
 /*     */   {
 /* 178 */     return this. != null;
 /*     */   }
 /*     */ 
 /*     */   public byte[] get()
 /*     */   {
 /* 185 */     if (this. == null) {
 /*     */       try {
 /* 187 */         ByteArrayOutputStreamEx baos = new ByteArrayOutputStreamEx(1024);
 /* 188 */         InputStream is = this..getDataSource().getInputStream();
 /* 189 */         baos.readFrom(is);
/* 190 */         is.close();
/* 191 */         this. = baos.getBuffer();
/* 192 */         this. = baos.size();
/*     */       }
/*     */       catch (IOException e) {
/* 195 */         this. = 0;
/*     */       }
/*     */     }
/* 198 */     return this.;
/*     */   }
/*     */ 
/*     */   public int getDataLen() {
/* 202 */     return this.;
/*     */   }
/*     */ 
/*     */   public String getMimeType() {
/* 206 */     if (this. == null)
/* 207 */       return "application/octet-stream";
/* 208 */     return this.;
/*     */   }
/*     */ 
/*     */   public int length()
/*     */   {
/* 218 */     get();
/* 219 */     return (this. + 2) / 3 * 4;
/*     */   }
/*     */ 
/*     */   public char charAt(int index)
/*     */   {
/* 231 */     int offset = index % 4;
/* 232 */     int base = index / 4 * 3;
/*     */     byte b1;
/* 236 */     switch (offset) {
/*     */     case 0:
/* 238 */       return DatatypeConverterImpl.encode(this.[base] >> 2);
/*     */     case 1:
/*     */       byte b1;
/* 240 */       if (base + 1 < this.)
/* 241 */         b1 = this.[(base + 1)];
/*     */       else
/* 243 */         b1 = 0;
/* 244 */       return DatatypeConverterImpl.encode((this.[base] & 0x3) << 4 | b1 >> 4 & 0xF);
/*     */     case 2:
/* 248 */       if (base + 1 < this.) {
/* 249 */         b1 = this.[(base + 1)];
/*     */         byte b2;
/*     */         byte b2;
/* 250 */         if (base + 2 < this.)
/* 251 */           b2 = this.[(base + 2)];
/*     */         else {
/* 253 */           b2 = 0;
/*     */         }
/* 255 */         return DatatypeConverterImpl.encode((b1 & 0xF) << 2 | b2 >> 6 & 0x3);
/*     */       }
/*     */ 
/* 259 */       return '=';
/*     */     case 3:
/* 261 */       if (base + 2 < this.) {
/* 262 */         return DatatypeConverterImpl.encode(this.[(base + 2)] & 0x3F);
/*     */       }
/* 264 */       return '=';
/*     */     }
/*     */ 
/* 267 */     throw new IllegalStateException();
/*     */   }
/*     */ 
/*     */   public CharSequence subSequence(int startint end)
/*     */   {
/* 276 */     StringBuilder buf = new StringBuilder();
/* 277 */     get();
/* 278 */     for (int i = starti < endi++)
/* 279 */       buf.append(charAt(i));
/* 280 */     return buf;
/*     */   }
/*     */ 
/*     */   public String toString()
/*     */   {
/* 287 */     get();
/* 288 */     return DatatypeConverterImpl._printBase64Binary(this., 0, this.);
/*     */   }
/*     */ 
/*     */   public void writeTo(char[] bufint start) {
/* 292 */     get();
/* 293 */     DatatypeConverterImpl._printBase64Binary(this., 0, this.bufstart);
/*     */   }
/*     */ 
/*     */   public void writeTo(UTF8XmlOutput outputthrows IOException
/*     */   {
/* 298 */     get();
/* 299 */     output.text(this.this.);
/*     */   }
/*     */ }
/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/thirdparty-all.jar
 * Qualified Name:     com.sun.xml.bind.v2.runtime.unmarshaller.Base64Data
 * JD-Core Version:    0.6.0
 */
New to GrepCode? Check out our FAQ X