home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 1999 March / maximum-cd-1999-03.iso / Feature / Lotus / ORGANIZE / COMPNENT / LTOUIN21.ZIP / sunw / demo / classfile / FieldDesc.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-12  |  1.4 KB  |  44 lines

  1. package sunw.demo.classfile;
  2.  
  3. import java.io.DataOutputStream;
  4. import java.io.IOException;
  5.  
  6. final class FieldDesc {
  7.    static final short ACC_PUBLIC = 1;
  8.    static final short ACC_PRIVATE = 2;
  9.    static final short ACC_PROTECTED = 4;
  10.    static final short ACC_STATIC = 8;
  11.    static final short ACC_FINAL = 16;
  12.    static final short ACC_VOLATILE = 64;
  13.    static final short ACC_TRANSIENT = 128;
  14.    private UTF8Constant name;
  15.    private UTF8Constant descriptor;
  16.    private short accessFlags;
  17.    private ClassFile classFile;
  18.    private Attribute[] attributes;
  19.  
  20.    FieldDesc(String var1, String var2, short var3, ClassFile var4, Attribute[] var5) {
  21.       this.name = var4.addUTF8Constant(var1);
  22.       this.descriptor = var4.addUTF8Constant(var2);
  23.       this.accessFlags = var3;
  24.       this.classFile = var4;
  25.       this.attributes = var5;
  26.    }
  27.  
  28.    void write(DataOutputStream var1) throws IOException {
  29.       var1.writeShort(this.accessFlags);
  30.       var1.writeShort(this.name.getConstantPoolIndex());
  31.       var1.writeShort(this.descriptor.getConstantPoolIndex());
  32.       if (this.attributes != null && this.attributes.length == 0) {
  33.          var1.writeShort(this.attributes.length);
  34.  
  35.          for(int var2 = 0; var2 < this.attributes.length; ++var2) {
  36.             this.attributes[var2].write(var1);
  37.          }
  38.       } else {
  39.          var1.writeShort(0);
  40.       }
  41.  
  42.    }
  43. }
  44.