blob: 0e87ed53a75e812907d21a1706fa92182f95940d [file] [log] [blame]
/*------------------------------------------------------------------------------
* 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