package org.snmp4j.agent.mo;

import java.io.IOException;
import java.io.OutputStream;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import org.snmp4j.agent.mo.MOTableRow;
import org.snmp4j.smi.OID;

/* JADX INFO: loaded from: classes.dex */
public class DefaultMOTableModel<R extends MOTableRow> implements MOTableModel<R> {
    protected SortedMap<OID, R> rows = Collections.synchronizedSortedMap(new TreeMap());
    protected int columnCount = 0;

    public synchronized R addRow(R r) {
        this.columnCount = Math.max(r.size(), this.columnCount);
        return this.rows.put(r.getIndex(), r);
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public boolean containsRow(OID oid) {
        return this.rows.containsKey(oid);
    }

    public synchronized void dump(OutputStream outputStream) throws IOException {
        outputStream.write(("Dump of " + getClass().getName() + ":\n").getBytes());
        for (Map.Entry<OID, R> entry : this.rows.entrySet()) {
            outputStream.write((entry.getKey() + " # " + entry.getValue() + "\n").getBytes());
        }
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized OID firstIndex() {
        if (this.rows.size() <= 0) {
            return null;
        }
        return this.rows.firstKey();
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized R firstRow() {
        OID oidFirstIndex = firstIndex();
        if (oidFirstIndex == null) {
            return null;
        }
        return this.rows.get(oidFirstIndex);
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public int getColumnCount() {
        return this.columnCount;
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized R getRow(OID oid) {
        return this.rows.get(oid);
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public int getRowCount() {
        return this.rows.size();
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public boolean isEmpty() {
        return this.rows.isEmpty();
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized Iterator<R> iterator() {
        return this.rows.values().iterator();
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized OID lastIndex() {
        if (this.rows.size() <= 0) {
            return null;
        }
        return this.rows.lastKey();
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized R lastRow() {
        OID oidLastIndex = lastIndex();
        if (oidLastIndex == null) {
            return null;
        }
        return this.rows.get(oidLastIndex);
    }

    @Override // org.snmp4j.agent.mo.MOTableModel
    public synchronized Iterator<R> tailIterator(OID oid) {
        if (oid == null) {
            return iterator();
        }
        return this.rows.tailMap(oid).values().iterator();
    }
}
