1 /***
2 * Copyright 2003, 2004, 2005. CodeStreet LLC.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
7 *
8 * Unless required by applicable law or agreed to in writing, software
9 * distributed under the License is distributed on an "AS IS" BASIS,
10 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14
15 package com.codestreet.selector.parser;
16
17 /***
18 * Value provider interface. A value provider allows an application to provide
19 * identifier values on demand. As a selector is evaluated, callbacks are made
20 * on the value provider when an identifier's value is needed.
21 *
22 * @author Jawaid Hakim.
23 * @see com.codestreet.selector.Selector
24 */
25 public interface IValueProvider
26 {
27 /***
28 * Get value of specified identifier.
29 *
30 * @param identifier
31 * Identifier.
32 * @param correlation
33 * Correlation data. May be <tt>null</tt>.
34 * @return Value of specified identifier. Returns <tt>null</tt> if
35 * identifier is not found. Numeric values - <tt>Integer</tt>,
36 * <tt>Short</tt>, <tt>Long</tt>, <tt>Float</tt>,
37 * <tt>Double</tt>, and <tt>Byte</tt> - MUST be wrapped in an
38 * instance of <tt>NumericValue</tt>.
39 * @see NumericValue
40 */
41 Object getValue(final Object identifier, final Object correlation);
42 }
This page was automatically generated by Maven