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

#ifndef __javax_swing_text_MaskFormatter__
#define __javax_swing_text_MaskFormatter__

#pragma interface

#include <javax/swing/text/DefaultFormatter.h>

extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace text
      {
        class MaskFormatter;
      }
      class JFormattedTextField;
    }
  }
}

class javax::swing::text::MaskFormatter : public ::javax::swing::text::DefaultFormatter
{
public:
  MaskFormatter ();
  MaskFormatter (::java::lang::String *);
  virtual ::java::lang::String *getMask () { return mask; }
  virtual ::java::lang::String *getInvalidCharacters () { return invalidChars; }
  virtual void setInvalidCharacters (::java::lang::String *);
  virtual ::java::lang::String *getValidCharacters () { return validChars; }
  virtual void setValidCharacters (::java::lang::String *);
  virtual ::java::lang::String *getPlaceholder () { return placeHolder; }
  virtual void setPlaceholder (::java::lang::String *);
  virtual jchar getPlaceholderCharacter () { return placeHolderChar; }
  virtual void setPlaceholderCharacter (jchar);
  virtual jboolean getValueContainsLiteralCharacters () { return valueContainsLiteralCharacters; }
  virtual void setValueContainsLiteralCharacters (jboolean);
  virtual void setMask (::java::lang::String *);
  virtual void install (::javax::swing::JFormattedTextField *);
  virtual ::java::lang::Object *stringToValue (::java::lang::String *);
public: // actually package-private
  virtual ::java::lang::String *stripLiterals (::java::lang::String *);
public:
  virtual ::java::lang::String *valueToString (::java::lang::Object *);
public: // actually package-private
  virtual ::java::lang::String *convertValue (::java::lang::String *, jboolean);
  virtual jboolean isCharValid (jchar);
  virtual ::java::lang::String *pad (::java::lang::String *, jint);
  virtual jchar getPadCharAt (jint);
private:
  static const jint NUM_CHAR = 35L;
  static const jint ESCAPE_CHAR = 39L;
  static const jint UPPERCASE_CHAR = 85L;
  static const jint LOWERCASE_CHAR = 76L;
  static const jint ALPHANUM_CHAR = 65L;
  static const jint LETTER_CHAR = 63L;
  static const jint ANYTHING_CHAR = 42L;
  static const jint HEX_CHAR = 72L;
  ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::swing::text::DefaultFormatter )))) mask;
  ::java::lang::String *invalidChars;
  ::java::lang::String *validChars;
  ::java::lang::String *placeHolder;
  jchar placeHolderChar;
  jboolean valueContainsLiteralCharacters;
  static ::java::lang::String *hexString;
public: // actually package-private
  jint maskLength;
public:

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

#endif /* __javax_swing_text_MaskFormatter__ */
