1 
2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
3 
4 #ifndef __java_text_RuleBasedCollator__
5 #define __java_text_RuleBasedCollator__
6 
7 #pragma interface
8 
9 #include <java/text/Collator.h>
10 #include <gcj/array.h>
11 
12 extern "Java"
13 {
14   namespace java
15   {
16     namespace text
17     {
18         class CharacterIterator;
19         class CollationElementIterator;
20         class CollationKey;
21         class RuleBasedCollator;
22         class RuleBasedCollator$CollationElement;
23     }
24   }
25 }
26 
27 class java::text::RuleBasedCollator : public ::java::text::Collator
28 {
29 
30 public:
31   RuleBasedCollator(::java::lang::String *);
32 public: // actually package-private
33   static jint findPrefixLength(::java::lang::String *, ::java::lang::String *);
34 private:
35   void mergeRules(jint, ::java::lang::String *, ::java::util::ArrayList *, ::java::util::ArrayList *);
36   jint subParseString(jboolean, ::java::util::ArrayList *, jint, ::java::lang::String *);
37 public:
38   virtual ::java::lang::Object * clone();
39 private:
40   ::java::util::ArrayList * parseString(::java::lang::String *);
41   void buildCollationVector(::java::util::ArrayList *);
42   void buildPrefixAccess();
43 public:
44   virtual jint compare(::java::lang::String *, ::java::lang::String *);
45   virtual jboolean equals(::java::lang::Object *);
46 public: // actually package-private
47   virtual ::java::text::RuleBasedCollator$CollationElement * getDefaultElement(jchar);
48   virtual ::java::text::RuleBasedCollator$CollationElement * getDefaultAccentedElement(jchar);
49 public:
50   virtual ::java::text::CollationElementIterator * getCollationElementIterator(::java::lang::String *);
51   virtual ::java::text::CollationElementIterator * getCollationElementIterator(::java::text::CharacterIterator *);
52   virtual ::java::text::CollationKey * getCollationKey(::java::lang::String *);
53   virtual ::java::lang::String * getRules();
54   virtual jint hashCode();
55 private:
56   ::java::lang::String * __attribute__((aligned(__alignof__( ::java::text::Collator)))) rules;
57   JArray< ::java::text::RuleBasedCollator$CollationElement * > * ce_table;
58 public: // actually package-private
59   ::java::util::HashMap * prefix_tree;
60 private:
61   jint last_primary_value;
62   jint last_tertiary_value;
63   jboolean inverseAccentComparison;
64 public: // actually package-private
65   static ::java::text::RuleBasedCollator$CollationElement * SPECIAL_UNKNOWN_SEQ;
66 public:
67   static ::java::lang::Class class$;
68 };
69 
70 #endif // __java_text_RuleBasedCollator__
71