KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snmp4j > agent > mo > snmp > smi > ValueConstraintValidator


1 /*_############################################################################
2   _##
3   _## SNMP4J-Agent - ValueConstraintValidator.java
4   _##
5   _## Copyright (C) 2005-2007 Frank Fock (SNMP4J.org)
6   _##
7   _## Licensed under the Apache License, Version 2.0 (the "License");
8   _## you may not use this file except in compliance with the License.
9   _## 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.snmp.smi;
22
23 import org.snmp4j.agent.mo.*;
24 import org.snmp4j.smi.*;
25 // For JavaDOC:
26
import org.snmp4j.mp.SnmpConstants;
27
28 /**
29  * A <code>ValueConstraintValidator</code> adapts a {@link ValueConstraint}
30  * as {@link MOValueValidationListener}.
31  *
32  * @author Frank Fock
33  * @version 1.0
34  */

35 public class ValueConstraintValidator implements MOValueValidationListener {
36
37   private ValueConstraint valueConstraint;
38
39   public ValueConstraintValidator(ValueConstraint valueConstraint) {
40     this.valueConstraint = valueConstraint;
41   }
42
43   /**
44    * Validates a value by returning a SNMP error code if validation fails
45    * or 0 ({@link SnmpConstants#SNMP_ERROR_SUCCESS}) if the validation was
46    * successful. The validation is returned by calling the
47    * {@link MOValueValidationEvent#setValidationStatus} method. If an error
48    * occured the returned status value should be one of the following values:
49    * <ul>
50    * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_LENGTH}</li>
51    * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_VALUE}</li>
52    * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_TYPE}</li>
53    * <li>{@link SnmpConstants#SNMP_ERROR_WRONG_ENCODING}</li>
54    * <li>{@link SnmpConstants#SNMP_ERROR_BAD_VALUE}</li>
55    * </ul>
56    *
57    * @param validationEvent
58    * the <code>MOValueValidationEvent</code> containing the value to
59    * validate.
60    */

61   public void validate(MOValueValidationEvent validationEvent) {
62     Variable v = validationEvent.getNewValue();
63     validationEvent.setValidationStatus(valueConstraint.validate(v));
64   }
65
66   public ValueConstraint getValueConstraint() {
67     return valueConstraint;
68   }
69 }
70
Popular Tags