Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.apache.xerces.impl.dv.xs;
  
  
  public class DecimalDV extends TypeValidator
 {
   public final short getAllowedFacets()
   {
     return 4088;
   }
 
   public Object getActualValue(String paramStringValidationContext paramValidationContext)
   {
     // Byte code:
     //   0: new 2	org/apache/xerces/impl/dv/xs/DecimalDV$XDecimal
     //   3: dup
     //   4: aload_1
     //   5: invokespecial 3	org/apache/xerces/impl/dv/xs/DecimalDV$XDecimal:<init>	(Ljava/lang/String;)V
     //   8: areturn
     //   9: astore_3
     //   10: new 5	org/apache/xerces/impl/dv/InvalidDatatypeValueException
     //   13: dup
     //   14: ldc 6
     //   16: iconst_2
     //   17: anewarray 7	java/lang/Object
     //   20: dup
     //   21: iconst_0
     //   22: aload_1
     //   23: aastore
     //   24: dup
     //   25: iconst_1
     //   26: ldc 8
     //   28: aastore
     //   29: invokespecial 9	org/apache/xerces/impl/dv/InvalidDatatypeValueException:<init>	(Ljava/lang/String;[Ljava/lang/Object;)V
     //   32: athrow
     //
     // Exception table:
     //   from	to	target	type
     //   0	9	9	java/lang/NumberFormatException
   }
 
   public final int compare(Object paramObject1Object paramObject2)
   {
     return ((XDecimal)paramObject1).compareTo((XDecimal)paramObject2);
   }
 
   public final int getTotalDigits(Object paramObject)
   {
     return ((XDecimal)paramObject).;
   }
 
   public final int getFractionDigits(Object paramObject)
   {
     return ((XDecimal)paramObject).;
   }
 
   static class XDecimal
     implements XSDecimal
   {
     int sign = 1;
     int totalDigits = 0;
     int intDigits = 0;
     int fracDigits = 0;
     String ivalue = "";
     String fvalue = "";
     boolean integer = false;
     private String canonical;
 
     XDecimal(String paramString)
       throws NumberFormatException
     {
       initD(paramString);
     }
 
     XDecimal(String paramStringboolean paramBoolean)
       throws NumberFormatException
     {
       if (paramBoolean)
         initI(paramString);
       else
         initD(paramString);
     }
 
     void initD(String paramString)
       throws NumberFormatException
     {
       int i = paramString.length();
       if (i == 0)
         throw new NumberFormatException();
       int j = 0;
       int k = 0;
       int m = 0;
       int n = 0;
       if (paramString.charAt(0) == '+')
      {
        j = 1;
      }
      else if (paramString.charAt(0) == '-')
      {
        j = 1;
        this. = -1;
      }
      for (int i1 = j; (i1 < i) && (paramString.charAt(i1) == '0'); i1++);
      for (k = i1; (k < i) && (TypeValidator.isDigit(paramString.charAt(k))); k++);
      if (k < i)
      {
        if (paramString.charAt(k) != '.')
          throw new NumberFormatException();
        m = k + 1;
        n = i;
      }
      if ((j == k) && (m == n))
        throw new NumberFormatException();
      do
        n--;
      while ((n > m) && (paramString.charAt(n - 1) == '0'));
      for (int i2 = mi2 < ni2++)
      {
        if (TypeValidator.isDigit(paramString.charAt(i2)))
          continue;
        throw new NumberFormatException();
      }
      this. = (k - i1);
      this. = (n - m);
      this. = (this. + this.);
      if (this. > 0)
      {
        this. = paramString.substring(i1, k);
        if (this. > 0)
          this. = paramString.substring(mn);
      }
      else if (this. > 0)
      {
        this. = paramString.substring(mn);
      }
      else
      {
        this. = 0;
      }
    }
    void initI(String paramString)
      throws NumberFormatException
    {
      int i = paramString.length();
      if (i == 0)
        throw new NumberFormatException();
      int j = 0;
      int k = 0;
      if (paramString.charAt(0) == '+')
      {
        j = 1;
      }
      else if (paramString.charAt(0) == '-')
      {
        j = 1;
        this. = -1;
      }
      for (int m = j; (m < i) && (paramString.charAt(m) == '0'); m++);
      for (k = m; (k < i) && (TypeValidator.isDigit(paramString.charAt(k))); k++);
      if (k < i)
        throw new NumberFormatException();
      if (j == k)
        throw new NumberFormatException();
      this. = (k - m);
      this. = 0;
      this. = this.;
      if (this. > 0)
        this. = paramString.substring(m, k);
      else
        this. = 0;
      this. = true;
    }
    public boolean equals(Object paramObject)
    {
      if (paramObject == this)
        return true;
      if (!(paramObject instanceof XDecimal))
        return false;
      XDecimal localXDecimal = (XDecimal)paramObject;
      if (this. != localXDecimal.sign)
        return false;
      if (this. == 0)
        return true;
      return (this. == localXDecimal.intDigits) && (this. == localXDecimal.fracDigits) && (this..equals(localXDecimal.ivalue)) && (this..equals(localXDecimal.fvalue));
    }
    public int compareTo(XDecimal paramXDecimal)
    {
      if (this. != paramXDecimal.sign)
        return this. > paramXDecimal.sign ? 1 : -1;
      if (this. == 0)
        return 0;
      return this. * intComp(paramXDecimal);
    }
    private int intComp(XDecimal paramXDecimal)
    {
      if (this. != paramXDecimal.intDigits)
        return this. > paramXDecimal.intDigits ? 1 : -1;
      int i = this..compareTo(paramXDecimal.ivalue);
      if (i != 0)
        return i > 0 ? 1 : -1;
      i = this..compareTo(paramXDecimal.fvalue);
      return i > 0 ? 1 : i == 0 ? 0 : -1;
    }
    public synchronized String toString()
    {
      if (this. == null)
        makeCanonical();
      return this.;
    }
    private void makeCanonical()
    {
      if (this. == 0)
      {
        if (this.)
          this. = "0";
        else
          this. = "0.0";
        return;
      }
      if ((this.) && (this. > 0))
      {
        this. = this.;
        return;
      }
      StringBuffer localStringBuffer = new StringBuffer(this. + 3);
      if (this. == -1)
        localStringBuffer.append('-');
      if (this. != 0)
        localStringBuffer.append(this.);
      else
        localStringBuffer.append('0');
      if (!this.)
      {
        localStringBuffer.append('.');
        if (this. != 0)
          localStringBuffer.append(this.);
        else
          localStringBuffer.append('0');
      }
      this. = localStringBuffer.toString();
    }
    public BigDecimal getBigDecimal()
    {
      if (this. == 0)
        return new BigDecimal(.);
      return new BigDecimal(toString());
    }
    public BigInteger getBigInteger()
      throws NumberFormatException
    {
      if (this. != 0)
        throw new NumberFormatException();
      if (this. == 0)
        return .;
      if (this. == 1)
        return new BigInteger(this.);
      return new BigInteger("-" + this.);
    }
    public long getLong()
      throws NumberFormatException
    {
      if (this. != 0)
        throw new NumberFormatException();
      if (this. == 0)
        return 0L;
      if (this. == 1)
        return Long.parseLong(this.);
      return Long.parseLong("-" + this.);
    }
    public int getInt()
      throws NumberFormatException
    {
      if (this. != 0)
        throw new NumberFormatException();
      if (this. == 0)
        return 0;
      if (this. == 1)
        return Integer.parseInt(this.);
      return Integer.parseInt("-" + this.);
    }
    public short getShort()
      throws NumberFormatException
    {
      if (this. != 0)
        throw new NumberFormatException();
      if (this. == 0)
        return 0;
      if (this. == 1)
        return Short.parseShort(this.);
      return Short.parseShort("-" + this.);
    }
    public byte getByte()
      throws NumberFormatException
    {
      if (this. != 0)
        throw new NumberFormatException();
      if (this. == 0)
        return 0;
      if (this. == 1)
        return Byte.parseByte(this.);
      return Byte.parseByte("-" + this.);
    }
  }
/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/thirdparty-all.jar
 * Qualified Name:     org.apache.xerces.impl.dv.xs.DecimalDV
 * JD-Core Version:    0.6.0
 */
New to GrepCode? Check out our FAQ X