| 1 20 21 22 package org.snmp4j.agent.mo.snmp; 23 24 import org.snmp4j.agent.mo.MOScalar; 25 import org.snmp4j.smi.Integer32; 26 import org.snmp4j.agent.MOAccess; 27 import org.snmp4j.smi.OID; 28 import org.snmp4j.agent.request.SubRequest; 29 import org.snmp4j.mp.SnmpConstants; 30 import org.snmp4j.agent.mo.snmp.smi.EnumerationConstraint; 31 32 39 public class EnumeratedScalar extends MOScalar { 40 41 private EnumerationConstraint constraint; 42 43 56 public EnumeratedScalar(OID oid, 57 MOAccess access, 58 Integer32 value) { 59 super(oid, access, value); 60 } 61 62 74 public EnumeratedScalar(OID oid, 75 MOAccess access, 76 Integer32 value, 77 int[] allowedValues) { 78 super(oid, access, value); 79 this.constraint = new EnumerationConstraint(allowedValues); 80 } 81 82 public int isValueOK(SubRequest request) { 83 int result = super.isValueOK(request); 84 if ((constraint != null) && (result == SnmpConstants.SNMP_ERROR_SUCCESS)) { 85 return constraint.validate(request.getVariableBinding().getVariable()); 86 } 87 return result; 88 } 89 90 protected void setConstraint(EnumerationConstraint constraint) { 91 this.constraint = constraint; 92 } 93 } 94 | Popular Tags |