home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2016 / linuxmafia.com.tar / linuxmafia.com / pub / palmos / astro-src-2.1.0beta.tar.gz / astro-src-2.1.0beta.tar / astro-src-2.1.0beta / java / AstroRecord.java < prev    next >
Text File  |  2000-08-13  |  2KB  |  67 lines

  1. import palmutils.pdb.*;
  2. import java.io.*;
  3.  
  4. public class AstroRecord extends PDBElement
  5. {
  6.     public static final int DESCRIPTIONSIZE = 32;
  7.     public static final int MAGNITUDESIZE = 5;
  8.     public static final int SIZESIZE = 9;
  9.     
  10.     String description; // must be less than 32 letters (32 bytes)
  11.     short raH, raM, raS; // right ascension in hours, minutes, seconds. (6 bytes)
  12.     short decD, decM, decS; // declination in degrees, minutes, seconds. (6 bytes)
  13.     String magnitude; // must be less than 5 characters (5 bytes)
  14.     String size; // must be less than 9 characters (9 bytes)
  15.  
  16.     public String toString() 
  17.     {
  18.         return "["+description+": ("+raH+":"+raM+":"+raS+"),("+
  19.             decD+":"+decM+":"+decS+"),"+magnitude+","+size+"]"+
  20.             "{"+getSize()+"}";
  21.     }
  22.     
  23.     public int getSize() 
  24.     {
  25.         return ((description.length() < DESCRIPTIONSIZE)?(description.length() + 1):DESCRIPTIONSIZE)
  26.             + 12 // short fields
  27.             + ((magnitude.length() < MAGNITUDESIZE)?(magnitude.length() + 1):MAGNITUDESIZE)
  28.             + ((size.length() < SIZESIZE)?(size.length() + 1):SIZESIZE);
  29.     }
  30.     
  31.     public void write(DataOutput out) throws IOException 
  32.     {
  33.         writePackedString(out,description,32);
  34.         out.writeShort(raH);
  35.         out.writeShort(raM);
  36.         out.writeShort(raS);
  37.         out.writeShort(decD);
  38.         out.writeShort(decM);
  39.         out.writeShort(decS);
  40.         writePackedString(out,magnitude,5);
  41.         writePackedString(out,size,9);
  42.     }
  43.  
  44.     public void read(DataInput in) throws IOException 
  45.     {
  46.         description = readPackedString(in,32);
  47.         raH = in.readShort();
  48.         raM = in.readShort();
  49.         raS = in.readShort();
  50.         decD = in.readShort();
  51.         decM = in.readShort();
  52.         decS = in.readShort();
  53.         magnitude = readPackedString(in,5);
  54.         size = readPackedString(in,9);
  55.     }
  56.  
  57.     public AstroRecord() 
  58.     {}
  59.  
  60.     public AstroRecord(DataInput in) throws IOException 
  61.     {
  62.         read(in);
  63.     }
  64.     
  65. }
  66.  
  67.