Badge images report the certificate status at the moment they are fetched
BackProbeIntegrity Authority
dev/mishka/gamblerplus/client/PaymentParser.class 2.2 KB
Class
public final synchronized dev.mishka.gamblerplus.client.PaymentParser
Extends
java.lang.Object
Implements
nothing
Compiled for
Java 21

Reconstructed source

// Reconstructed from bytecode by BackProbe (dev/mishka/gamblerplus/client/PaymentParser.class, Java 21); this is not the original source.

package dev.mishka.gamblerplus.client;

import java.util.regex.Pattern;

public final class PaymentParser {

    private static final Pattern INCOMING;
    private static final Pattern OUTGOING;

    private PaymentParser() {
        super();
        return;
    }

    public static PaymentEvent tryParse(String arg0, long arg1) {
        if (arg0 == null) goto L11;
        if (!arg0.isEmpty()) goto L13;
    L11:
        return null;
    L13:
        var var3 = PaymentParser.OUTGOING.matcher(arg0);
        if (!var3.find()) goto L67;
        long var4 = AmountFormat.parse(var3.group(2));
        if (Long.compare(var4, 0L) > 0) goto L47;
        return null;
    L47:
        return new PaymentEvent(arg1, PaymentParser.cleanName(var3.group(1)), var4, false);
    L67:
        var4 = PaymentParser.INCOMING.matcher(arg0);
        if (!var4.find()) goto L141;
        var var5 = var4.group(1);
        if (!var5.equalsIgnoreCase("You")) goto L104;
        return null;
    L104:
        long var6 = AmountFormat.parse(var4.group(2));
        if (Long.compare(var6, 0L) > 0) goto L124;
        return null;
    L124:
        return new PaymentEvent(arg1, PaymentParser.cleanName(var5), var6, true);
    L141:
        return null;
    }

    private static String cleanName(String arg0) {
        var var1 = arg0.replaceAll("[^A-Za-z0-9_]", "");
        if (var1.length() <= 32) goto L26;
        var1 = var1.substring(0, 32);
    L26:
        if (!var1.isEmpty()) goto L38;
        var stack0 = "?";
        goto L39;
    L38:
        stack0 = var1;
    L39:
        return stack0;
    }

    static {
        PaymentParser.INCOMING = Pattern.compile("(?i)(\\S+)\\s+paid\\s+you\\s+\\$?\\s*([0-9][0-9,.]*\\s*[KMBTkmbt]?)");
        PaymentParser.OUTGOING = Pattern.compile("(?i)You\\s+paid\\s+(\\S+)\\s+\\$?\\s*([0-9][0-9,.]*\\s*[KMBTkmbt]?)");
        return;
    }
}

Methods declared

private void <init>()
public static dev.mishka.gamblerplus.client.PaymentEvent tryParse(java.lang.String, long)
private static java.lang.String cleanName(java.lang.String)
static void <clinit>()

Fields

private static final java.util.regex.Pattern INCOMING
private static final java.util.regex.Pattern OUTGOING

Calls out to

dev.mishka.gamblerplus.client.AmountFormat.parse(java.lang.String) : long
dev.mishka.gamblerplus.client.PaymentEvent.<init>(long, java.lang.String, long, boolean)
java.util.regex.Pattern dev.mishka.gamblerplus.client.PaymentParser.INCOMING
java.util.regex.Pattern dev.mishka.gamblerplus.client.PaymentParser.OUTGOING
dev.mishka.gamblerplus.client.PaymentParser.cleanName(java.lang.String) : java.lang.String
java.lang.Object.<init>()
java.lang.String.equalsIgnoreCase(java.lang.String) : boolean
java.lang.String.isEmpty() : boolean
java.lang.String.length() : int
java.lang.String.replaceAll(java.lang.String, java.lang.String) : java.lang.String
java.lang.String.substring(int, int) : java.lang.String
java.util.regex.Matcher.find() : boolean
java.util.regex.Matcher.group(int) : java.lang.String
java.util.regex.Pattern.compile(java.lang.String) : java.util.regex.Pattern
java.util.regex.Pattern.matcher(java.lang.CharSequence) : java.util.regex.Matcher

Text compiled into the class

You
[^A-Za-z0-9_]
?
(?i)(\S+)\s+paid\s+you\s+\$?\s*([0-9][0-9,.]*\s*[KMBTkmbt]?)
(?i)You\s+paid\s+(\S+)\s+\$?\s*([0-9][0-9,.]*\s*[KMBTkmbt]?)