/*------------------------------------------------------------------------------ | |
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team | |
* | |
* Distributable under the terms of either the Apache License (Version 2.0) or | |
* the GNU Lesser General Public License, as specified in the COPYING file. | |
------------------------------------------------------------------------------*/ | |
#include "CLucene/StdHeader.h" | |
#include "QueryToken.h" | |
CL_NS_DEF(queryParser) | |
QueryToken::QueryToken(): | |
Value(NULL) | |
{ | |
set(UNKNOWN_); | |
} | |
QueryToken::QueryToken(TCHAR* value, const int32_t start, const int32_t end, const QueryToken::Types type): | |
Value(NULL) | |
{ | |
set(value,start,end,type); | |
} | |
QueryToken::~QueryToken(){ | |
//Func - Destructor | |
//Pre - true | |
//Post - Instance has been destroyed | |
#ifndef LUCENE_TOKEN_WORD_LENGTH | |
_CLDELETE_CARRAY( Value ); | |
#endif | |
} | |
// Initializes a new instance of the Token class LUCENE_EXPORT. | |
// | |
QueryToken::QueryToken(TCHAR* value, const QueryToken::Types type): | |
Value(NULL) | |
{ | |
set(value,type); | |
} | |
// Initializes a new instance of the Token class LUCENE_EXPORT. | |
// | |
QueryToken::QueryToken(QueryToken::Types type): | |
Value(NULL) | |
{ | |
set(type); | |
} | |
void QueryToken::set(TCHAR* value, const Types type){ | |
set(value,0,-1,type); | |
} | |
void QueryToken::set(TCHAR* value, const int32_t start, const int32_t end, const Types type){ | |
#ifndef LUCENE_TOKEN_WORD_LENGTH | |
_CLDELETE_CARRAY(Value); | |
Value = STRDUP_TtoT(value); | |
#else | |
_tcsncpy(Value,value,LUCENE_TOKEN_WORD_LENGTH); | |
Value[LUCENE_TOKEN_WORD_LENGTH]; | |
#endif | |
this->Start = start; | |
this->End = end; | |
this->Type = type; | |
if ( this->End < 0 ) | |
this->End = _tcslen(Value); | |
} | |
void QueryToken::set(Types type){ | |
set(LUCENE_BLANK_STRING,0,0,type); | |
} | |
CL_NS_END |