home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / lang / StringCoding$StringEncoder.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.0 KB  |  66 lines

  1. package java.lang;
  2.  
  3. import java.nio.ByteBuffer;
  4. import java.nio.CharBuffer;
  5. import java.nio.charset.CharacterCodingException;
  6. import java.nio.charset.Charset;
  7. import java.nio.charset.CharsetEncoder;
  8. import java.nio.charset.CoderResult;
  9. import java.nio.charset.CodingErrorAction;
  10. import sun.nio.cs.HistoricallyNamedCharset;
  11.  
  12. class StringCoding$StringEncoder {
  13.    // $FF: renamed from: cs java.nio.charset.Charset
  14.    private Charset field_0;
  15.    // $FF: renamed from: ce java.nio.charset.CharsetEncoder
  16.    private CharsetEncoder field_1;
  17.    private final String requestedCharsetName;
  18.  
  19.    private StringCoding$StringEncoder(Charset var1, String var2) {
  20.       this.requestedCharsetName = var2;
  21.       this.field_0 = var1;
  22.       this.field_1 = var1.newEncoder().onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE);
  23.    }
  24.  
  25.    String charsetName() {
  26.       return this.field_0 instanceof HistoricallyNamedCharset ? ((HistoricallyNamedCharset)this.field_0).historicalName() : this.field_0.name();
  27.    }
  28.  
  29.    final String requestedCharsetName() {
  30.       return this.requestedCharsetName;
  31.    }
  32.  
  33.    byte[] encode(char[] var1, int var2, int var3) {
  34.       int var4 = StringCoding.access$000(var3, this.field_1.maxBytesPerChar());
  35.       byte[] var5 = new byte[var4];
  36.       if (var3 == 0) {
  37.          return var5;
  38.       } else {
  39.          this.field_1.reset();
  40.          ByteBuffer var6 = ByteBuffer.wrap(var5);
  41.          CharBuffer var7 = CharBuffer.wrap(var1, var2, var3);
  42.  
  43.          try {
  44.             CoderResult var8 = this.field_1.encode(var7, var6, true);
  45.             if (!var8.isUnderflow()) {
  46.                var8.throwException();
  47.             }
  48.  
  49.             var8 = this.field_1.flush(var6);
  50.             if (!var8.isUnderflow()) {
  51.                var8.throwException();
  52.             }
  53.          } catch (CharacterCodingException var9) {
  54.             throw new Error(var9);
  55.          }
  56.  
  57.          return StringCoding.access$300(var5, var6.position(), this.field_0);
  58.       }
  59.    }
  60.  
  61.    // $FF: synthetic method
  62.    StringCoding$StringEncoder(Charset var1, String var2, StringCoding.1 var3) {
  63.       this(var1, var2);
  64.    }
  65. }
  66.