KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > excalibur > instrument > manager > interfaces > InstrumentManagerClient


1 /*
2
3  ============================================================================
4                    The Apache Software License, Version 1.1
5  ============================================================================
6  
7  Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
8  
9  Redistribution and use in source and binary forms, with or without modifica-
10  tion, are permitted provided that the following conditions are met:
11  
12  1. Redistributions of source code must retain the above copyright notice,
13     this list of conditions and the following disclaimer.
14  
15  2. Redistributions in binary form must reproduce the above copyright notice,
16     this list of conditions and the following disclaimer in the documentation
17     and/or other materials provided with the distribution.
18  
19  3. The end-user documentation included with the redistribution, if any, must
20     include the following acknowledgment: "This product includes software
21     developed by the Apache Software Foundation (http://www.apache.org/)."
22     Alternately, this acknowledgment may appear in the software itself, if
23     and wherever such third-party acknowledgments normally appear.
24  
25  4. The names "Jakarta", "Avalon", "Excalibur" and "Apache Software Foundation"
26     must not be used to endorse or promote products derived from this software
27     without prior written permission. For written permission, please contact
28     apache@apache.org.
29  
30  5. Products derived from this software may not be called "Apache", nor may
31     "Apache" appear in their name, without prior written permission of the
32     Apache Software Foundation.
33  
34  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
35  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
36  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
37  APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
38  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
39  DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
40  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
41  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
42  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
43  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44  
45  This software consists of voluntary contributions made by many individuals
46  on behalf of the Apache Software Foundation. For more information on the
47  Apache Software Foundation, please see <http://www.apache.org/>.
48  
49 */

50 package org.apache.excalibur.instrument.manager.interfaces;
51
52
53 /**
54  *
55  * @author <a HREF="mailto:leif@tanukisoftware.com">Leif Mortenson</a>
56  * @version CVS $Revision: 1.5 $ $Date: 2003/02/25 16:28:56 $
57  * @since 4.1
58  */

59 public interface InstrumentManagerClient
60 {
61     /** Type which specifies that the type of a Instrument has not yet been determined. */
62     int INSTRUMENT_TYPE_NONE = 0;
63     
64     /** Type which identifies CounterInstruments. */
65     int INSTRUMENT_TYPE_COUNTER = 1;
66     
67     /** Type which identifies ValueInstruments. */
68     int INSTRUMENT_TYPE_VALUE = 2;
69     
70     /** Type which identifies CounterInstrumentSamples. */
71     int INSTRUMENT_SAMPLE_TYPE_COUNTER = 101;
72     
73     /** Type which identifies MinimumInstrumentSamples. */
74     int INSTRUMENT_SAMPLE_TYPE_MINIMUM = 102;
75     
76     /** Type which identifies MaximumInstrumentSamples. */
77     int INSTRUMENT_SAMPLE_TYPE_MAXIMUM = 103;
78     
79     /** Type which identifies MeanInstrumentSamples. */
80     int INSTRUMENT_SAMPLE_TYPE_MEAN = 104;
81     
82     /**
83      * Returns the name used to identify this InstrumentManager.
84      *
85      * @return The name used to identify this InstrumentManager.
86      */

87     String JavaDoc getName();
88     
89     /**
90      * Returns the description of this InstrumentManager.
91      *
92      * @return The description of this InstrumentManager.
93      */

94     String JavaDoc getDescription();
95     
96     /**
97      * Returns a InstrumentableDescriptor based on its name or the name of any
98      * of its children.
99      *
100      * @param instrumentableName Name of the Instrumentable being requested.
101      *
102      * @return A Descriptor of the requested Instrumentable.
103      *
104      * @throws NoSuchInstrumentableException If the specified Instrumentable does
105      * not exist.
106      */

107     InstrumentableDescriptor getInstrumentableDescriptor( String JavaDoc instrumentableName )
108         throws NoSuchInstrumentableException;
109
110     /**
111      * Returns an array of Descriptors for the Instrumentables managed by this
112      * InstrumentManager.
113      *
114      * @return An array of Descriptors for the Instrumentables managed by this
115      * InstrumentManager.
116      */

117     InstrumentableDescriptor[] getInstrumentableDescriptors();
118     
119     /**
120      * Searches the entire instrument tree an instrumentable with the given
121      * name.
122      *
123      * @param instrumentableName Name of the Instrumentable being requested.
124      *
125      * @return A Descriptor of the requested Instrumentable.
126      *
127      * @throws NoSuchInstrumentableException If the specified Instrumentable does
128      * not exist.
129      */

130     InstrumentableDescriptor locateInstrumentableDescriptor( String JavaDoc instrumentableName )
131         throws NoSuchInstrumentableException;
132     
133     /**
134      * Searches the entire instrument tree an instrument with the given name.
135      *
136      * @param instrumentName Name of the Instrument being requested.
137      *
138      * @return A Descriptor of the requested Instrument.
139      *
140      * @throws NoSuchInstrumentException If the specified Instrument does
141      * not exist.
142      */

143     InstrumentDescriptor locateInstrumentDescriptor( String JavaDoc instrumentName )
144         throws NoSuchInstrumentException;
145
146     /**
147      * Searches the entire instrument tree an instrument sample with the given
148      * name.
149      *
150      * @param sampleName Name of the Instrument Sample being requested.
151      *
152      * @return A Descriptor of the requested Instrument Sample.
153      *
154      * @throws NoSuchInstrumentSampleException If the specified Instrument
155      * Sample does not exist.
156      */

157     InstrumentSampleDescriptor locateInstrumentSampleDescriptor( String JavaDoc sampleName )
158         throws NoSuchInstrumentSampleException;
159
160     /**
161      * Returns the stateVersion of the instrument manager. The state version
162      * will be incremented each time any of the configuration of the
163      * instrument manager or any of its children is modified.
164      * Clients can use this value to tell whether or not anything has
165      * changed without having to do an exhaustive comparison.
166      *
167      * @return The state version of the instrument manager.
168      */

169     int getStateVersion();
170         
171     /**
172      * Invokes garbage collection.
173      */

174     void invokeGarbageCollection();
175 }
176
177
Popular Tags