org.alfresco.util
Class SearchLanguageConversion

java.lang.Object
  extended by org.alfresco.util.SearchLanguageConversion

public class SearchLanguageConversion
extends java.lang.Object

Helper class to provide conversions between different search languages


Nested Class Summary
static class SearchLanguageConversion.LanguageDefinition
          Simple store of special characters for a given query language
 
Field Summary
static SearchLanguageConversion.LanguageDefinition DEF_CIFS
          CIFS name patch query language summary: Escape: \ (but not used) Single char search: ? Multiple char search: * Reserved: "*\<>?/:|¬£%&+;
static SearchLanguageConversion.LanguageDefinition DEF_LUCENE
          Lucene syntax summary: Lucene Query Parser
static SearchLanguageConversion.LanguageDefinition DEF_LUCENE_INTERNAL
           
static SearchLanguageConversion.LanguageDefinition DEF_REGEX
          Regular expression query language summary: Escape: \ Single char search: . Multiple char search: .* Reserved: \*.+?^$(){}[]|
static SearchLanguageConversion.LanguageDefinition DEF_SQL_LIKE
          SQL like query language summary: Escape: \ Single char search: _ Multiple char search: % Reserved: \%_
static SearchLanguageConversion.LanguageDefinition DEF_XPATH_LIKE
          XPath like query language summary: Escape: \ Single char search: _ Multiple char search: % Reserved: \%_
 
Constructor Summary
SearchLanguageConversion()
           
 
Method Summary
static java.lang.String convert(SearchLanguageConversion.LanguageDefinition from, SearchLanguageConversion.LanguageDefinition to, java.lang.String query)
           
static java.lang.String convertCifsToLucene(java.lang.String cifsNamePath)
          Convert a CIFS name path into the equivalent Lucene query.
static java.lang.String convertSQLLikeToLucene(java.lang.String sqlLikeClause)
          Convert a sql like function clause into a Lucene query.
static java.lang.String convertSQLLikeToRegex(java.lang.String sqlLikeClause)
          Convert a sql like function clause into a regex query.
static java.lang.String convertXPathLikeToLucene(java.lang.String xpathLikeClause)
          Convert an xpath like function clause into a Lucene query.
static java.lang.String convertXPathLikeToRegex(java.lang.String xpathLikeClause)
          Convert an xpath like function clause into a regex query.
static java.lang.String escapeForLucene(java.lang.String str)
          Escape a string according to the Lucene query syntax.
static java.lang.String escapeForRegex(java.lang.String str)
          Escape a string according to the regex language syntax.
static java.lang.String escapeForXPathLike(java.lang.String str)
          Escape a string according to the XPath like function syntax.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEF_SQL_LIKE

public static SearchLanguageConversion.LanguageDefinition DEF_SQL_LIKE
SQL like query language summary:


DEF_XPATH_LIKE

public static SearchLanguageConversion.LanguageDefinition DEF_XPATH_LIKE
XPath like query language summary:


DEF_REGEX

public static SearchLanguageConversion.LanguageDefinition DEF_REGEX
Regular expression query language summary:


DEF_LUCENE

public static SearchLanguageConversion.LanguageDefinition DEF_LUCENE
Lucene syntax summary: Lucene Query Parser


DEF_LUCENE_INTERNAL

public static SearchLanguageConversion.LanguageDefinition DEF_LUCENE_INTERNAL

DEF_CIFS

public static SearchLanguageConversion.LanguageDefinition DEF_CIFS
CIFS name patch query language summary:

Constructor Detail

SearchLanguageConversion

public SearchLanguageConversion()
Method Detail

escapeForXPathLike

public static java.lang.String escapeForXPathLike(java.lang.String str)
Escape a string according to the XPath like function syntax.

Parameters:
str - the string to escape
Returns:
Returns the escaped string

escapeForRegex

public static java.lang.String escapeForRegex(java.lang.String str)
Escape a string according to the regex language syntax.

Parameters:
str - the string to escape
Returns:
Returns the escaped string

escapeForLucene

public static java.lang.String escapeForLucene(java.lang.String str)
Escape a string according to the Lucene query syntax.

Parameters:
str - the string to escape
Returns:
Returns the escaped string

convertXPathLikeToRegex

public static java.lang.String convertXPathLikeToRegex(java.lang.String xpathLikeClause)
Convert an xpath like function clause into a regex query.

Parameters:
xpathLikeClause -
Returns:
Returns a valid regular expression that is equivalent to the given xpath like clause.

convertXPathLikeToLucene

public static java.lang.String convertXPathLikeToLucene(java.lang.String xpathLikeClause)
Convert an xpath like function clause into a Lucene query.

Parameters:
xpathLikeClause -
Returns:
Returns a valid Lucene expression that is equivalent to the given xpath like clause.

convertSQLLikeToLucene

public static java.lang.String convertSQLLikeToLucene(java.lang.String sqlLikeClause)
Convert a sql like function clause into a Lucene query.

Parameters:
sqlLikeClause -
Returns:
Returns a valid Lucene expression that is equivalent to the given sql like clause.

convertSQLLikeToRegex

public static java.lang.String convertSQLLikeToRegex(java.lang.String sqlLikeClause)
Convert a sql like function clause into a regex query.

Parameters:
sqlLikeClause -
Returns:
Returns a valid regular expression that is equivalent to the given sql like clause.

convertCifsToLucene

public static java.lang.String convertCifsToLucene(java.lang.String cifsNamePath)
Convert a CIFS name path into the equivalent Lucene query.

Parameters:
cifsNamePath - the CIFS named path
Returns:
Returns a valid Lucene expression that is equivalent to the given CIFS name path

convert

public static java.lang.String convert(SearchLanguageConversion.LanguageDefinition from,
                                       SearchLanguageConversion.LanguageDefinition to,
                                       java.lang.String query)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.