01: /*_############################################################################
02: _##
03: _## SNMP4J-Agent - MOValueValidationListener.java
04: _##
05: _## Copyright (C) 2005-2007 Frank Fock (SNMP4J.org)
06: _##
07: _## Licensed under the Apache License, Version 2.0 (the "License");
08: _## you may not use this file except in compliance with the License.
09: _## You may obtain a copy of the License at
10: _##
11: _## http://www.apache.org/licenses/LICENSE-2.0
12: _##
13: _## Unless required by applicable law or agreed to in writing, software
14: _## distributed under the License is distributed on an "AS IS" BASIS,
15: _## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: _## See the License for the specific language governing permissions and
17: _## limitations under the License.
18: _##
19: _##########################################################################*/
20:
21: package org.snmp4j.agent.mo;
22:
23: import java.util.EventListener; // For JavaDOC:
24: import org.snmp4j.mp.SnmpConstants;
25:
26: /**
27: * <code>MOValueValidationListener</code>s are able to validate SNMP values
28: * against certain criteria, for example MIB definition constraints.
29: *
30: * @author Frank Fock
31: * @version 1.0
32: */
33: public interface MOValueValidationListener extends EventListener {
34:
35: /**
36: * Validates a value by returning a SNMP error code if validation fails
37: * or 0 ({@link SnmpConstants#SNMP_ERROR_SUCCESS}) if the validation was
38: * successful. The validation is returned by calling the
39: * {@link MOValueValidationEvent#setValidationStatus} method. If an error
40: * occured the returned status value should be one of the following values:
41: * <ul>
42: * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_LENGTH}</li>
43: * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_VALUE}</li>
44: * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_TYPE}</li>
45: * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_ENCODING}</li>
46: * <li>{@link SnmpConstants#SNMP_ERROR_BAD_VALUE}</li>
47: * </ul>
48: *
49: * @param validationEvent
50: * the <code>MOValueValidationEvent</code> containing the value to
51: * validate.
52: */
53: void validate(MOValueValidationEvent validationEvent);
54:
55: }
|