package org.infosec.ismp.collectd.snmp; import java.net.InetAddress; import org.infosec.ismp.snmp.SnmpInstId; import org.infosec.ismp.snmp.SnmpObjId; public class HrStorageTable extends SnmpTable<HrStorageTableEntry> { public final static String HR_STORAGE_FIXEDDISK=".1.3.6.1.2.1.25.2.1.4";//硬盘分区 public final static String HR_STORAGE_COMPACT_DISC=".1.3.6.1.2.1.25.2.1.7";//COMPACT DISC public final static String HR_STORAGE_RAM=".1.3.6.1.2.1.25.2.1.2";//Physical memory public final static String HR_STORAGE_VIRTUAL_MEMORY=".1.3.6.1.2.1.25.2.1.3";//virtual memory public HrStorageTable(InetAddress address) { super(address, "hrStorageTable", HrStorageTableEntry.ms_elemList); } @Override protected HrStorageTableEntry createTableEntry(SnmpObjId base, SnmpInstId inst, Object val) { return new HrStorageTableEntry(); } public HrStorageTableEntry getEntry(int ifIndex) { if (getEntries() == null) { return null; } for (HrStorageTableEntry entry : getEntries()) { Integer ndx = entry.getIfIndex(); if (ndx != null && ndx.intValue() == ifIndex) { return entry; } } return null; } public String getHrStorageType(int hrStorageIndex) { String hrStorageType = null; if (getEntries() != null) { for (HrStorageTableEntry entry : getEntries()) { Integer ndx = entry.getIfIndex(); if (ndx != null && ndx.intValue() == hrStorageIndex) { hrStorageType = entry.getHrStorageType(); break; } } } return hrStorageType; } public boolean isFixedDisk(int hrStorageIndex){ String hrStorageType = null; if (getEntries() != null) { for (HrStorageTableEntry entry : getEntries()) { Integer ndx = entry.getIfIndex(); if (ndx != null && ndx.intValue() == hrStorageIndex) { hrStorageType = entry.getHrStorageType(); break; } } } return HR_STORAGE_FIXEDDISK.equals(hrStorageType); } }