/* * Copyright (c) 1998-2011 Caucho Technology -- all rights reserved * * This file is part of Resin(R) Open Source * * Each copy or derived work must preserve the copyright notice and this * notice unmodified. * * Resin Open Source is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Resin Open Source is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty * of NON-INFRINGEMENT. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with Resin Open Source; if not, write to the * * Free Software Foundation, Inc. * 59 Temple Place, Suite 330 * Boston, MA 02111-1307 USA * * @author Nam Nguyen */ package com.caucho.server.snmp.types; /* * Represents a complete SNMP message. */ public class SnmpMessageValue extends SnmpValue { IntegerValue _version = IntegerValue.ZERO; OctetStringValue _communityString = OctetStringValue.PUBLIC; PduValue _pdu; public SnmpMessageValue(int version, String community, PduValue pdu) { this(new IntegerValue(version), new OctetStringValue(community), pdu); } public SnmpMessageValue(IntegerValue version, OctetStringValue community, PduValue pdu) { _version = version; _communityString = community; _pdu = pdu; } @Override public int getType() { return SnmpValue.SEQUENCE; } @Override public void toAsn1(StringBuilder sb) { StringBuilder innerSb = new StringBuilder(); _version.toAsn1(innerSb); _communityString.toAsn1(innerSb); _pdu.toAsn1(innerSb); header(sb, innerSb.length()); sb.append(innerSb.toString()); } public IntegerValue getVersion() { return _version; } public void setVersion(int version) { _version = new IntegerValue(version); } public void setVersion(IntegerValue version) { _version = version; } public OctetStringValue getCommunityString() { return _communityString; } public void setCommunityString(String communityString) { _communityString = new OctetStringValue(communityString); } public void setCommunityString(OctetStringValue communityString) { _communityString = communityString; } public PduValue getPdu() { return _pdu; } public void setPdu(PduValue pdu) { _pdu = pdu; } public void setError(int error) { _pdu.setError(error); } public void setError(IntegerValue error) { _pdu.setError(error); } public IntegerValue getError() { return _pdu.getError(); } public void setErrorIndex(int errorIndex) { _pdu.setErrorIndex(errorIndex); } public void setErrorIndex(IntegerValue errorIndex) { _pdu.setErrorIndex(errorIndex); } public IntegerValue getErrorIndex() { return _pdu.getErrorIndex(); } public void setRequestId(int id) { _pdu.setRequestId(id); } public void setRequestId(IntegerValue id) { _pdu.setRequestId(id); } public IntegerValue getRequestId() { return _pdu.getRequestId(); } public void addVarBind(VarBindValue obj) { _pdu.addVarBind(obj); } public void addVarBindList(VarBindListValue list) { _pdu.addVarBindList(list); } public VarBindListValue getVarBindList() { return _pdu.getVarBindList(); } public String toString() { return "SnmpMessage[" + _version + "," + _communityString + "," + _pdu + "]"; } }