ICollation Class Reference

Defines a thread safe abstract factory for the creation of ICollation concrete classes. More...

Inherits Simba::Support::ThreadSafeSharedObject.

Inherited by DSIBinaryCollation, and DSIUnicodeCollation.

List of all members.

Public Member Functions

virtual AutoPtr< ICollatorCreateCollator (EncodingType in_encoding) const =0
 Create and return an ICollator object.
virtual AutoPtr
< Simba::Support::IHasher
CreateHasher (EncodingType in_encoding) const =0
 Create a hasher for the collation.
virtual AutoPtr< ILikeMatcherCreateLikeMatcher (const simba_byte *in_pattern, simba_uint32 in_patternLength, const simba_byte *in_escapeChar, simba_uint32 in_escapeCharLength, EncodingType in_encoding) const =0
 Create a ILikeMatcher object.
virtual const simba_wstringGetCollationName () const
 Get the collation name for this class.
virtual const TDWGuidGetTypeID () const =0
 Get the GUID of the Collation concrete class.
virtual bool IsEqual (const ICollation &in_collation) const =0
 Compare two collation to determine if they are equal.
virtual ~ICollation ()
 Destructor.

Detailed Description

Defines a thread safe abstract factory for the creation of ICollation concrete classes.


Constructor & Destructor Documentation

virtual ~ICollation (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual AutoPtr<ICollator> CreateCollator ( EncodingType  in_encoding  )  const [pure virtual]

Create and return an ICollator object.

When performing a comparison of two given strings the collator object's comparison method will be used.

Returns:
a ICollator object.

Implemented in DSIBinaryCollation, and DSIUnicodeCollation.

virtual AutoPtr<Simba::Support::IHasher> CreateHasher ( EncodingType  in_encoding  )  const [pure virtual]

Create a hasher for the collation.

Parameters:
in_encoding The encoding for the hashed value.
Returns:
A hasher pointer.

Implemented in DSIBinaryCollation, and DSIUnicodeCollation.

virtual AutoPtr<ILikeMatcher> CreateLikeMatcher ( const simba_byte *  in_pattern,
simba_uint32  in_patternLength,
const simba_byte *  in_escapeChar,
simba_uint32  in_escapeCharLength,
EncodingType  in_encoding 
) const [pure virtual]

Create a ILikeMatcher object.

Parameters:
in_pattern The pattern for the matcher to implement. Must not be NULL. (NOT OWN)
in_patternLength The length of the pattern in bytes.
in_escapeChar The LIKE escape character for in_pattern. NULL if there is none provided. (NOT OWN)
in_escapeCharLength The length of the escape char in bytes.
in_encoding The encoding for in_pattern and the data that will be provided by ILikeMatcher::Match().
Returns:
a AutoPtr<ILikeMatcher> object.

Implemented in DSIBinaryCollation, and DSIUnicodeCollation.

virtual const simba_wstring& GetCollationName (  )  const [inline, virtual]

Get the collation name for this class.

Returns:
The collation name for this class.

Reimplemented in DSIBinaryCollation, and DSIUnicodeCollation.

virtual const TDWGuid& GetTypeID (  )  const [pure virtual]

Get the GUID of the Collation concrete class.

IsEqual will call this method to ensure that the collation type being passed in is equal to the class inheriting the ICollation interface. (e.g. DSICollation)

Returns:
the guid of the concrete class.

Implemented in DSIBinaryCollation, and DSIUnicodeCollation.

virtual bool IsEqual ( const ICollation in_collation  )  const [pure virtual]

Compare two collation to determine if they are equal.

When trying to determine the coercion of the collation in question, IsEqual can be used to compare different collations.

Parameters:
in_collation A defined collation.
Returns:
true if equal.

Implemented in DSIBinaryCollation, and DSIUnicodeCollation.


The documentation for this class was generated from the following file:

Generated on Wed May 17 14:21:15 2017 for SimbaEngine 10.1.3.1011 by simba