blob: 74b5aa8ea3955267cc6e40239d6ffe77ef945da2 [file] [log] [blame]
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
#ifndef __java_text_RuleBasedCollator__
#define __java_text_RuleBasedCollator__
#pragma interface
#include <java/text/Collator.h>
#include <gcj/array.h>
extern "Java"
{
namespace java
{
namespace text
{
class CharacterIterator;
class CollationElementIterator;
class CollationKey;
class RuleBasedCollator;
class RuleBasedCollator$CollationElement;
}
}
}
class java::text::RuleBasedCollator : public ::java::text::Collator
{
public:
RuleBasedCollator(::java::lang::String *);
public: // actually package-private
static jint findPrefixLength(::java::lang::String *, ::java::lang::String *);
private:
void mergeRules(jint, ::java::lang::String *, ::java::util::ArrayList *, ::java::util::ArrayList *);
jint subParseString(jboolean, ::java::util::ArrayList *, jint, ::java::lang::String *);
public:
virtual ::java::lang::Object * clone();
private:
::java::util::ArrayList * parseString(::java::lang::String *);
void buildCollationVector(::java::util::ArrayList *);
void buildPrefixAccess();
public:
virtual jint compare(::java::lang::String *, ::java::lang::String *);
virtual jboolean equals(::java::lang::Object *);
public: // actually package-private
virtual ::java::text::RuleBasedCollator$CollationElement * getDefaultElement(jchar);
virtual ::java::text::RuleBasedCollator$CollationElement * getDefaultAccentedElement(jchar);
public:
virtual ::java::text::CollationElementIterator * getCollationElementIterator(::java::lang::String *);
virtual ::java::text::CollationElementIterator * getCollationElementIterator(::java::text::CharacterIterator *);
virtual ::java::text::CollationKey * getCollationKey(::java::lang::String *);
virtual ::java::lang::String * getRules();
virtual jint hashCode();
private:
::java::lang::String * __attribute__((aligned(__alignof__( ::java::text::Collator)))) rules;
JArray< ::java::text::RuleBasedCollator$CollationElement * > * ce_table;
public: // actually package-private
::java::util::HashMap * prefix_tree;
private:
jint last_primary_value;
jint last_tertiary_value;
jboolean inverseAccentComparison;
public: // actually package-private
static ::java::text::RuleBasedCollator$CollationElement * SPECIAL_UNKNOWN_SEQ;
public:
static ::java::lang::Class class$;
};
#endif // __java_text_RuleBasedCollator__