* @throws ParseException if the node analysis discovered errors
*/
protected Node exitComplianceObject(Production node)
throws ParseException {
SnmpCompliance comp;
MibValue value = null;
MibType syntax = null;
MibType write = null;
SnmpAccess access = null;
String desc = null;
Node child;
for (int i = 0; i < node.getChildCount(); i++) {
child = node.getChildAt(i);
switch (child.getId()) {
case Asn1Constants.VALUE:
value = (MibValue) getValue(child, 0);
break;
case Asn1Constants.SNMP_SYNTAX_PART:
syntax = (MibType) getValue(child, 0);
syntax.setComment(MibAnalyzerUtil.getComments(child));
break;
case Asn1Constants.SNMP_WRITE_SYNTAX_PART:
write = (MibType) getValue(child, 0);
write.setComment(MibAnalyzerUtil.getComments(child));
break;
case Asn1Constants.SNMP_ACCESS_PART:
access = (SnmpAccess) getValue(child, 0);
break;
case Asn1Constants.SNMP_DESCR_PART:
desc = getStringValue(child, 0);
break;
}
}
comp = new SnmpCompliance(false, value, syntax, write, access, desc);
comp.setComment(MibAnalyzerUtil.getComments(node));
node.addValue(comp);
return node;
}