| com.Yasna.forum.Query
All known Subclasses: com.Yasna.forum.QueryProxy, com.Yasna.forum.database.DbQuery,
Query | public interface Query (Code) | | Encapsulates a search for content in a forum. Use the factory method
forum.createQuery() to get a handle on a Query object. From there, set
the properties that you're interested in searching on. For example, to
search a forum for "Yazd is cool", you would use the following code:
Query query = forum.createQuery();
query.setQueryString("Yazd is cool");
Iterator iter = query.results();
while (iter.hasNext()) {
ForumMessage message = (ForumMessage)iter.nextElement();
//print results...
}
All search properties are optional. You can mix and match them depending on
what kind of query you'd like to perform.
You can also use the filter methods to restrict searches to messages
from a particular user, messages between a date range, or messages in a
particular thread.
|
Method Summary | |
public void | filterOnThread(ForumThread thread) Restricts the querty results to messages posted in a specified thread. | public void | filterOnUser(User user) Restricts the query results to messages posted by a specified user. | public Date | getAfterDate() Returns the earliest date for search results. | public Date | getBeforeDate() Returns the latest date for search results. | public ForumThread | getFilteredThread() Returns the thread that query results are restricted to. | public User | getFilteredUser() Returns the user that query results are restricted to. | public String | getQueryString() Returns the query string for the Query object. | public int | resultCount() Returns the total number of results of the query. | public Iterator | results() Returns the results of the Query as an Iterator of ForumMessage objects. | public Iterator | results(int startIndex, int numResults) Returns the results of the Query as an Iterator of ForumMessage objects.
The startIndex and numResults paramaters are used to look at a certain
range of the results. | public void | setAfterDate(Date afterDate) Sets the earliest date for search results. | public void | setBeforeDate(Date beforeDate) Sets the latest date for search results. | public void | setQueryString(String queryString) Sets the query string for the Query object. |
filterOnThread | public void filterOnThread(ForumThread thread)(Code) | | Restricts the querty results to messages posted in a specified thread.
Parameters: thread - the ForumThread to restrict query results to. |
filterOnUser | public void filterOnUser(User user)(Code) | | Restricts the query results to messages posted by a specified user.
Parameters: user - a User to restrict query results to. |
getAfterDate | public Date getAfterDate()(Code) | | Returns the earliest date for search results. For example, the "after date"
can be used to search for messages modified within the last week.
If the "after date" has not been set, this method will return null.
the lower date boundary for search results. |
getBeforeDate | public Date getBeforeDate()(Code) | | Returns the latest date for search results. For example, the "before date"
can be used to search for messages modified more than 1 month ago.
If the "before date" has not been set, this method will return null.
the upder date boundary for search results. |
getFilteredThread | public ForumThread getFilteredThread()(Code) | | Returns the thread that query results are restricted to. If the query
is not restricted to messages in a certain thread, this method will
return null.
the thread that results are restricted to. |
getFilteredUser | public User getFilteredUser()(Code) | | Returns the user that query results are restricted to. If the query
is not restricted to messages posted by a certain user, this method will
return null.
the message that results are restricted to. |
getQueryString | public String getQueryString()(Code) | | Returns the query string for the Query object. The query string is a
set of keywords that should be searched on. Currently only "and" keyword
searches are supported -- that is, only results that contain every
keyword will be returned. In general, keywords should be seperated by
spaces. However, other delimiter characters are legal and will be
ignored.
If the query string has not been set, this method will return null.
the Query query string. |
resultCount | public int resultCount()(Code) | | Returns the total number of results of the query.
the number of results of the query. |
results | public Iterator results()(Code) | | Returns the results of the Query as an Iterator of ForumMessage objects.
the result of the query as an Iterator. |
results | public Iterator results(int startIndex, int numResults)(Code) | | Returns the results of the Query as an Iterator of ForumMessage objects.
The startIndex and numResults paramaters are used to look at a certain
range of the results. For example, the first twenty results, the second
twenty results, etc. This is useful for user interface with multiple
pages of results.
If startIndex or numResults does not fall within the range of results,
the number of messages returned may be smaller than expected. For
example, suppose a query has a total of 17 results. If startIndex
is 0 and numResults is 25, only 17 results can be returned.
Parameters: startIndex - the index in the results that the iterator will start at. Parameters: numResuls - the max number of results that should be returned. the result of the query as an Iterator. |
setAfterDate | public void setAfterDate(Date afterDate)(Code) | | Sets the earliest date for search results. For example, the "after date"
can be used to search for messages modified within the last week.
Parameters: afterDate - a lower date boundary for search results. |
setBeforeDate | public void setBeforeDate(Date beforeDate)(Code) | | Sets the latest date for search results. For example, the "before date"
can be used to search for messages modified more than 1 month ago.
Parameters: beforeDate - an upper date boundary for search results. |
setQueryString | public void setQueryString(String queryString)(Code) | | Sets the query string for the Query object. The query string is a
set of keywords that should be searched on. Currently only "and" keyword
searches are supported -- that is, only results that contain every
keyword will be returned. In general, keywords should be seperated by
spaces. However, other delimiter characters are legal and will be
ignored.
Parameters: queryString - a new query string. |
|
|