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 / javax / management / NumericValueExp.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.4 KB  |  111 lines

  1. package javax.management;
  2.  
  3. import com.sun.jmx.mbeanserver.GetPropertyAction;
  4. import java.io.IOException;
  5. import java.io.ObjectInputStream;
  6. import java.io.ObjectOutputStream;
  7. import java.io.ObjectStreamField;
  8. import java.security.AccessController;
  9.  
  10. class NumericValueExp extends QueryEval implements ValueExp {
  11.    private static final long oldSerialVersionUID = -6227876276058904000L;
  12.    private static final long newSerialVersionUID = -4679739485102359104L;
  13.    private static final ObjectStreamField[] oldSerialPersistentFields;
  14.    private static final ObjectStreamField[] newSerialPersistentFields;
  15.    private static final long serialVersionUID;
  16.    private static final ObjectStreamField[] serialPersistentFields;
  17.    private Number val = new Double((double)0.0F);
  18.    private static boolean compat;
  19.  
  20.    public NumericValueExp() {
  21.    }
  22.  
  23.    NumericValueExp(Number var1) {
  24.       this.val = var1;
  25.    }
  26.  
  27.    public double doubleValue() {
  28.       return !(this.val instanceof Long) && !(this.val instanceof Integer) ? this.val.doubleValue() : (double)this.val.longValue();
  29.    }
  30.  
  31.    public long longValue() {
  32.       return !(this.val instanceof Long) && !(this.val instanceof Integer) ? (long)this.val.doubleValue() : this.val.longValue();
  33.    }
  34.  
  35.    public boolean isLong() {
  36.       return this.val instanceof Long || this.val instanceof Integer;
  37.    }
  38.  
  39.    public String toString() {
  40.       return !(this.val instanceof Long) && !(this.val instanceof Integer) ? String.valueOf(this.val.doubleValue()) : String.valueOf(this.val.longValue());
  41.    }
  42.  
  43.    public ValueExp apply(ObjectName var1) throws BadStringOperationException, BadBinaryOpValueExpException, BadAttributeValueExpException, InvalidApplicationException {
  44.       return this;
  45.    }
  46.  
  47.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  48.       if (compat) {
  49.          ObjectInputStream.GetField var7 = var1.readFields();
  50.          double var2 = var7.get("doubleVal", (double)0.0F);
  51.          if (var7.defaulted("doubleVal")) {
  52.             throw new NullPointerException("doubleVal");
  53.          }
  54.  
  55.          long var4 = var7.get("longVal", 0L);
  56.          if (var7.defaulted("longVal")) {
  57.             throw new NullPointerException("longVal");
  58.          }
  59.  
  60.          boolean var6 = var7.get("valIsLong", false);
  61.          if (var7.defaulted("valIsLong")) {
  62.             throw new NullPointerException("valIsLong");
  63.          }
  64.  
  65.          if (var6) {
  66.             this.val = new Long(var4);
  67.          } else {
  68.             this.val = new Double(var2);
  69.          }
  70.       } else {
  71.          var1.defaultReadObject();
  72.       }
  73.  
  74.    }
  75.  
  76.    private void writeObject(ObjectOutputStream var1) throws IOException {
  77.       if (compat) {
  78.          ObjectOutputStream.PutField var2 = var1.putFields();
  79.          var2.put("doubleVal", this.doubleValue());
  80.          var2.put("longVal", this.longValue());
  81.          var2.put("valIsLong", this.isLong());
  82.          var1.writeFields();
  83.       } else {
  84.          var1.defaultWriteObject();
  85.       }
  86.  
  87.    }
  88.  
  89.    static {
  90.       oldSerialPersistentFields = new ObjectStreamField[]{new ObjectStreamField("longVal", Long.TYPE), new ObjectStreamField("doubleVal", Double.TYPE), new ObjectStreamField("valIsLong", Boolean.TYPE)};
  91.       newSerialPersistentFields = new ObjectStreamField[]{new ObjectStreamField("val", Number.class)};
  92.       compat = false;
  93.  
  94.       try {
  95.          GetPropertyAction var0 = new GetPropertyAction("jmx.serial.form");
  96.          String var1 = (String)AccessController.doPrivileged(var0);
  97.          compat = var1 != null && var1.equals("1.0");
  98.       } catch (Exception var2) {
  99.       }
  100.  
  101.       if (compat) {
  102.          serialPersistentFields = oldSerialPersistentFields;
  103.          serialVersionUID = -6227876276058904000L;
  104.       } else {
  105.          serialPersistentFields = newSerialPersistentFields;
  106.          serialVersionUID = -4679739485102359104L;
  107.       }
  108.  
  109.    }
  110. }
  111.