// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_text_DecimalFormat__
#define __java_text_DecimalFormat__

#pragma interface

#include <java/text/NumberFormat.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace text
      {
        class FormatBuffer;
      }
    }
  }
  namespace java
  {
    namespace text
    {
      class DecimalFormat;
      class ParsePosition;
      class AttributedCharacterIterator;
      class FieldPosition;
      class DecimalFormatSymbols;
    }
  }
}

class java::text::DecimalFormat : public ::java::text::NumberFormat
{
private:
  jint scanFix (::java::lang::String *, jint, ::gnu::java::text::FormatBuffer *, ::java::lang::String *, ::java::text::DecimalFormatSymbols *, jboolean);
  jint scanFormat (::java::lang::String *, jint, ::java::lang::String *, ::java::text::DecimalFormatSymbols *, jboolean);
  ::java::lang::String *patternChars (::java::text::DecimalFormatSymbols *);
  void applyPatternWithSymbols (::java::lang::String *, ::java::text::DecimalFormatSymbols *);
public:
  virtual void applyLocalizedPattern (::java::lang::String *);
  virtual void applyPattern (::java::lang::String *);
  virtual ::java::lang::Object *clone ();
  DecimalFormat ();
  DecimalFormat (::java::lang::String *);
  DecimalFormat (::java::lang::String *, ::java::text::DecimalFormatSymbols *);
private:
  jboolean equals (::java::lang::String *, ::java::lang::String *);
public:
  virtual jboolean equals (::java::lang::Object *);
private:
  void formatInternal (jdouble, ::gnu::java::text::FormatBuffer *, ::java::text::FieldPosition *);
public:
  virtual ::java::lang::StringBuffer *format (jdouble, ::java::lang::StringBuffer *, ::java::text::FieldPosition *);
  virtual ::java::text::AttributedCharacterIterator *formatToCharacterIterator (::java::lang::Object *);
  virtual ::java::lang::StringBuffer *format (jlong, ::java::lang::StringBuffer *, ::java::text::FieldPosition *);
  virtual ::java::util::Currency *getCurrency ();
  virtual ::java::text::DecimalFormatSymbols *getDecimalFormatSymbols ();
  virtual jint getGroupingSize () { return groupingSize; }
  virtual jint getMultiplier () { return multiplier; }
  virtual ::java::lang::String *getNegativePrefix () { return negativePrefix; }
  virtual ::java::lang::String *getNegativeSuffix () { return negativeSuffix; }
  virtual ::java::lang::String *getPositivePrefix () { return positivePrefix; }
  virtual ::java::lang::String *getPositiveSuffix () { return positiveSuffix; }
  virtual jint hashCode ();
  virtual jboolean isDecimalSeparatorAlwaysShown () { return decimalSeparatorAlwaysShown; }
  virtual ::java::lang::Number *parse (::java::lang::String *, ::java::text::ParsePosition *);
  virtual void setCurrency (::java::util::Currency *);
  virtual void setDecimalFormatSymbols (::java::text::DecimalFormatSymbols *);
  virtual void setDecimalSeparatorAlwaysShown (jboolean);
  virtual void setGroupingSize (jint);
  virtual void setMaximumFractionDigits (jint);
  virtual void setMaximumIntegerDigits (jint);
  virtual void setMinimumFractionDigits (jint);
  virtual void setMinimumIntegerDigits (jint);
  virtual void setMultiplier (jint);
  virtual void setNegativePrefix (::java::lang::String *);
  virtual void setNegativeSuffix (::java::lang::String *);
  virtual void setPositivePrefix (::java::lang::String *);
  virtual void setPositiveSuffix (::java::lang::String *);
private:
  void quoteFix (::java::lang::StringBuffer *, ::java::lang::String *, ::java::lang::String *);
  ::java::lang::String *computePattern (::java::text::DecimalFormatSymbols *);
public:
  virtual ::java::lang::String *toLocalizedPattern ();
  virtual ::java::lang::String *toPattern ();
private:
  void readObject (::java::io::ObjectInputStream *);
  ::java::lang::String *substituteCurrency (::java::lang::String *, jdouble);
  static const jint MAXIMUM_INTEGER_DIGITS = 309L;
  jboolean __attribute__((aligned(__alignof__( ::java::text::NumberFormat ))))  decimalSeparatorAlwaysShown;
  jbyte groupingSize;
  jbyte minExponentDigits;
  jint exponentRound;
  jint multiplier;
  ::java::lang::String *negativePrefix;
  ::java::lang::String *negativeSuffix;
  ::java::lang::String *positivePrefix;
  ::java::lang::String *positiveSuffix;
  jintArray negativePrefixRanges;
  jintArray positivePrefixRanges;
  JArray< ::java::util::HashMap *> *negativePrefixAttrs;
  JArray< ::java::util::HashMap *> *positivePrefixAttrs;
  jintArray negativeSuffixRanges;
  jintArray positiveSuffixRanges;
  JArray< ::java::util::HashMap *> *negativeSuffixAttrs;
  JArray< ::java::util::HashMap *> *positiveSuffixAttrs;
  jint serialVersionOnStream;
  ::java::text::DecimalFormatSymbols *symbols;
  jboolean useExponentialNotation;
  static const jlong serialVersionUID = 864413376551465018LL;
  static ::java::text::DecimalFormatSymbols *nonLocalizedSymbols;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_text_DecimalFormat__ */
