1 // NAME 2 // $RCSfile: AsnPrimitive.java,v $ 3 // DESCRIPTION 4 // [given below in javadoc format] 5 // DELTA 6 // $Revision: 3.10 $ 7 // CREATED 8 // $Date: 2006/01/17 17:43:54 $ 9 // COPYRIGHT 10 // Westhawk Ltd 11 // TO DO 12 // 13 14 /* 15 * Copyright (C) 2000 - 2006 by Westhawk Ltd 16 * <a href="www.westhawk.co.uk">www.westhawk.co.uk</a> 17 * 18 * Permission to use, copy, modify, and distribute this software 19 * for any purpose and without fee is hereby granted, provided 20 * that the above copyright notices appear in all copies and that 21 * both the copyright notice and this permission notice appear in 22 * supporting documentation. 23 * This software is provided "as is" without express or implied 24 * warranty. 25 * author <a href="mailto:snmp@westhawk.co.uk">Tim Panton</a> 26 */ 27 28 package uk.co.westhawk.snmp.stack; 29 30 /*- 31 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲ 32 * SNMP Java Client 33 * ჻჻჻჻჻჻ 34 * Copyright 2023 MetricsHub, Westhawk 35 * ჻჻჻჻჻჻ 36 * This program is free software: you can redistribute it and/or modify 37 * it under the terms of the GNU Lesser General Public License as 38 * published by the Free Software Foundation, either version 3 of the 39 * License, or (at your option) any later version. 40 * 41 * This program is distributed in the hope that it will be useful, 42 * but WITHOUT ANY WARRANTY; without even the implied warranty of 43 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 44 * GNU General Lesser Public License for more details. 45 * 46 * You should have received a copy of the GNU General Lesser Public 47 * License along with this program. If not, see 48 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 49 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱ 50 */ 51 52 import java.io.*; 53 import java.util.*; 54 55 /** 56 * This class represents the Exception values for SNMP v2c, v3: 57 * SNMP_VAR_NOSUCHOBJECT, SNMP_VAR_NOSUCHINSTANCE, SNMP_VAR_ENDOFMIBVIEW 58 * 59 * @author <a href="mailto:snmp@westhawk.co.uk">Birgit Arkesteijn</a> 60 * @version $Revision: 3.10 $ $Date: 2006/01/17 17:43:54 $ 61 * @see #SNMP_VAR_NOSUCHOBJECT 62 * @see #SNMP_VAR_NOSUCHINSTANCE 63 * @see #SNMP_VAR_ENDOFMIBVIEW 64 */ 65 public class AsnPrimitive extends AsnObject { 66 private static final String version_id = "@(#)$Id: AsnPrimitive.java,v 3.10 2006/01/17 17:43:54 birgit Exp $ Copyright Westhawk Ltd"; 67 68 private byte type; 69 70 /** 71 * Default Constructor. 72 * 73 * @param t The primitive type 74 * @see #SNMP_VAR_NOSUCHOBJECT 75 * @see #SNMP_VAR_NOSUCHINSTANCE 76 * @see #SNMP_VAR_ENDOFMIBVIEW 77 */ 78 public AsnPrimitive(byte t) { 79 type = t; 80 } 81 82 /** 83 * Returns the string representation of the AsnPrimitive. 84 * 85 * @return The string of the AsnPrimitive 86 */ 87 public String toString() { 88 String str = "AsnPrimitive "; 89 if (type == SNMP_VAR_NOSUCHOBJECT) { 90 str = "No such object"; 91 } else if (type == SNMP_VAR_NOSUCHINSTANCE) { 92 str = "No such instance"; 93 } else if (type == SNMP_VAR_ENDOFMIBVIEW) { 94 str = "End of MIB view"; 95 } 96 return str; 97 } 98 99 void write(OutputStream out, int pos) throws IOException { 100 AsnBuildHeader(out, type, 0); 101 } 102 103 /** 104 * Compares this object to the specified object. The result is 105 * <code>true</code> if and only if the argument is not 106 * <code>null</code> and is an <code>AsnPrimitive</code> object that 107 * contains the same <code>type</code> as this object. 108 * 109 * @param obj the object to compare with. 110 * @return <code>true</code> if the objects are the same; 111 * <code>false</code> otherwise. 112 */ 113 public boolean equals(Object obj) { 114 if (obj instanceof AsnPrimitive) { 115 return type == ((AsnPrimitive) obj).type; 116 } 117 return false; 118 } 119 120 /** 121 * Returns a hash code for this <code>AsnPrimitive</code>. 122 * 123 * @return a hash code value for this object, equal to the 124 * type represented by this 125 * <code>AsnPrimitive</code> object. 126 */ 127 public int hashCode() { 128 return (int) type; 129 } 130 }