package org.snmp4j.util;

import java.text.ParseException;
import java.util.StringTokenizer;
import org.snmp4j.smi.Counter32;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;

/* JADX INFO: loaded from: classes.dex */
public class SimpleOIDTextFormat implements OIDTextFormat {
    public static String formatOID(int[] iArr) {
        StringBuilder sb = new StringBuilder(iArr.length * 3);
        for (int i2 = 0; i2 < iArr.length; i2++) {
            if (i2 != 0) {
                sb.append('.');
            }
            sb.append(((long) iArr[i2]) & Counter32.MAX_COUNTER32_VALUE);
        }
        return sb.toString();
    }

    public static int[] parseOID(String str) throws ParseException {
        StringTokenizer stringTokenizer = new StringTokenizer(str, ".", true);
        int[] iArr = new int[stringTokenizer.countTokens()];
        StringBuffer stringBuffer = null;
        int size = 0;
        while (stringTokenizer.hasMoreTokens()) {
            String strNextToken = stringTokenizer.nextToken();
            if (stringBuffer == null && strNextToken.startsWith("'")) {
                stringBuffer = new StringBuffer();
                strNextToken = strNextToken.substring(1);
            }
            if (stringBuffer != null && strNextToken.endsWith("'")) {
                stringBuffer.append(strNextToken.substring(0, strNextToken.length() - 1));
                OID subIndex = new OctetString(stringBuffer.toString()).toSubIndex(true);
                int[] iArr2 = new int[stringTokenizer.countTokens() + iArr.length + subIndex.size()];
                System.arraycopy(iArr, 0, iArr2, 0, size);
                System.arraycopy(subIndex.getValue(), 0, iArr2, size, subIndex.size());
                size += subIndex.size();
                stringBuffer = null;
                iArr = iArr2;
            } else if (stringBuffer != null) {
                stringBuffer.append(strNextToken);
            } else if (!".".equals(strNextToken)) {
                iArr[size] = (int) Long.parseLong(strNextToken.trim());
                size++;
            }
        }
        if (size >= iArr.length) {
            return iArr;
        }
        int[] iArr3 = new int[size];
        System.arraycopy(iArr, 0, iArr3, 0, size);
        return iArr3;
    }

    @Override // org.snmp4j.util.OIDTextFormat
    public String format(int[] iArr) {
        return formatOID(iArr);
    }

    @Override // org.snmp4j.util.OIDTextFormat
    public String formatForRoundTrip(int[] iArr) {
        return format(iArr);
    }

    @Override // org.snmp4j.util.OIDTextFormat
    public int[] parse(String str) throws ParseException {
        return parseOID(str);
    }
}
