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