View Javadoc

1   /*
2    * $HeadURL: $
3    * $Date: $
4    * $Revision: $
5    * $Author: $
6    * 
7    * Copyright (c) 2005 MindTree Consulting Ltd. 
8    * 
9    * This file is part of Insight.
10   * 
11   * Insight is free software: you can redistribute it and/or modify it under the 
12   * terms of the GNU General Public License as published by the Free Software 
13   * Foundation, either version 3 of the License, or (at your option) any later 
14   * version.
15   * 
16   * Insight is distributed in the hope that it will be useful, but 
17   * WITHOUT ANY WARRANTY; without even the implied warranty of 
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General 
19   * Public License for more details.
20   * 
21   * You should have received a copy of the GNU General Public License along with 
22   * Insight.  If not, see <http://www.gnu.org/licenses/>.
23   */
24  
25  package com.mindtree.techworks.insight.eventsearch;
26  
27  import java.io.Serializable;
28  
29  
30  /**
31   * This is the value object to pass the Search Criteria for the Event Search in
32   * Insight.
33   * 
34   * @author Bindul Bhowmik
35   * @version $Revision: 27 $ $Date: 2007-12-16 04:58:03 -0700 (Sun, 16 Dec 2007) $
36   */
37  public class SearchCriteria implements Serializable {
38  
39  	/**
40  	 * Used for object serialization
41  	 */
42  	private static final long serialVersionUID = 1089139959871483251L;
43  	
44  	//
45  	// Constant Fields
46  	//
47  
48  	/**
49  	 * Indicates to search in the thread field
50  	 */
51  	public static final int THREAD_SEARCH = 1;
52  
53  	/**
54  	 * Indicates to search inthe Category field
55  	 */
56  	public static final int CATEGORY_SEARCH = 2;
57  
58  	/**
59  	 * Indicates to search in the Log message
60  	 */
61  	public static final int MESSAGE_SEARCH = 4;
62  
63  	/**
64  	 * Indicates to search for the exception class name.
65  	 */
66  	public static final int EXCEPTION_CLASS_NAME_SEARCH = 8;
67  
68  	/**
69  	 * Indicates to search for the throwable stack trace.
70  	 */
71  	public static final int THROWABLE_SEARCH = 16;
72  
73  	/**
74  	 * Indicates to search for the priority. Note that this field
75  	 * is not available for selection in the search GUI
76  	 */
77  	public static final int PRIORITY_SEARCH = 32;
78  
79  	/**
80  	 * Indicates to search for the log namespace.Note that this field
81  	 * is not available for selection in the search GUI
82  	 */
83  	public static final int NAMESPACE_SEARCH = 64;
84  
85  	/**
86  	 * Indicates to search in all fields
87  	 */
88  	public static final int ALL_FIELDS_SEARCH = THREAD_SEARCH | CATEGORY_SEARCH
89  			| MESSAGE_SEARCH | EXCEPTION_CLASS_NAME_SEARCH | THROWABLE_SEARCH
90  			| PRIORITY_SEARCH | NAMESPACE_SEARCH;
91  
92  	//
93  	// Instance Variables
94  	//
95  
96  	/**
97  	 * Holds the type of the search
98  	 */
99  	private int searchType;
100 
101 	/**
102 	 * The string to search for
103 	 */
104 	private String searchString;
105 
106 	//
107 	// Constructors
108 	//
109 
110 	/**
111 	 * Constructor for a search criteria.
112 	 * 
113 	 * @param searchType The type of this search. The search type should be
114 	 *            provided as an <code>OR</code> of the different search
115 	 *            criteria types. For example, to search on both message and
116 	 *            thread, provide the search type as
117 	 *            <code>MESSAGE_SEARCH | THREAD_SEARCH</code>. To search in
118 	 *            all fields use the
119 	 *            {@link SearchCriteria#ALL_FIELDS_SEARCH ALL_FIELDS_SEARCH}
120 	 *            type.
121 	 */
122 	public SearchCriteria (int searchType) {
123 
124 		this.searchType = searchType;
125 	}
126 
127 	//
128 	// Accessor Methods
129 	//
130 
131 	/**
132 	 * @return Returns the searchString.
133 	 */
134 	public String getSearchString () {
135 
136 		return searchString;
137 	}
138 
139 	/**
140 	 * @param searchString The searchString to set.
141 	 */
142 	public void setSearchString (String searchString) {
143 
144 		this.searchString = searchString;
145 	}
146 
147 	/**
148 	 * Returns the search type.
149 	 * 
150 	 * @return The search type for the current search criteria.
151 	 */
152 	public int getSearchType () {
153 
154 		return this.searchType;
155 	}
156 }