导航菜单

页面标题

页面副标题

Kreate v1.5.0 - XMLFragmentStreamReader.java 源代码

正在查看: Kreate v1.5.0 应用的 XMLFragmentStreamReader.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package nl.adaptivity.xmlutil.util;

import java.io.CharArrayReader;
import java.io.Reader;
import java.io.StringReader;
import java.util.List;
import kotlin.Metadata;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.JvmStatic;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlinx.serialization.json.internal.AbstractJsonLexerKt;
import nl.adaptivity.xmlutil.EventType;
import nl.adaptivity.xmlutil.IterableNamespaceContext;
import nl.adaptivity.xmlutil.Namespace;
import nl.adaptivity.xmlutil.XmlReader;
import nl.adaptivity.xmlutil.XmlUtil;
import nl.adaptivity.xmlutil.core.KtXmlReader;
import nl.adaptivity.xmlutil.util.impl.FragmentNamespaceContext;
import org.mozilla.javascript.ES6Iterator;

@Metadata(d1 = {"\u0000L\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u000e\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0002\u0018\u0000 \"2\u00020\u00012\u00020\u00022\u00020\u0003:\u0001\"B\u0011\b\u0002\u0012\u0006\u0010\u0004\u001a\u00020\u0003¢\u0006\u0004\b\u0005\u0010\u0006B\u001f\b\u0016\u0012\u0006\u0010\u0007\u001a\u00020\b\u0012\f\u0010\t\u001a\b\u0012\u0004\u0012\u00020\u000b0\n¢\u0006\u0004\b\u0005\u0010\fJ\u0012\u0010\u0015\u001a\u0004\u0018\u00010\u00162\u0006\u0010\u0017\u001a\u00020\u0016H\u0016J\u0012\u0010\u0018\u001a\u0004\u0018\u00010\u00162\u0006\u0010\u0019\u001a\u00020\u0016H\u0016J\t\u0010\u001a\u001a\u00020\u001bH\u0096\u0002J\b\u0010 \u001a\u00020!H\u0002R\u0014\u0010\u0004\u001a\u00020\u00038TX\u0094\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\u000eR\u001a\u0010\u000f\u001a\u00020\u0010X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0011\u0010\u0012\"\u0004\b\u0013\u0010\u0014R\u0014\u0010\u001c\u001a\u00020\u001d8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u001e\u0010\u001f¨\u0006#"}, d2 = {"Lnl/adaptivity/xmlutil/util/XMLFragmentStreamReader;", "Lnl/adaptivity/xmlutil/XmlDelegatingReader;", "Lnl/adaptivity/xmlutil/util/XMLFragmentStreamReaderJava;", "Lnl/adaptivity/xmlutil/XmlReader;", "delegate", "<init>", "(Lnl/adaptivity/xmlutil/XmlReader;)V", "reader", "Ljava/io/Reader;", "namespaces", "", "Lnl/adaptivity/xmlutil/Namespace;", "(Ljava/io/Reader;Ljava/lang/Iterable;)V", "getDelegate", "()Lnl/adaptivity/xmlutil/XmlReader;", "localNamespaceContext", "Lnl/adaptivity/xmlutil/util/impl/FragmentNamespaceContext;", "getLocalNamespaceContext", "()Lnl/adaptivity/xmlutil/util/impl/FragmentNamespaceContext;", "setLocalNamespaceContext", "(Lnl/adaptivity/xmlutil/util/impl/FragmentNamespaceContext;)V", "getNamespaceURI", "", "prefix", "getNamespacePrefix", "namespaceUri", ES6Iterator.NEXT_METHOD, "Lnl/adaptivity/xmlutil/EventType;", "namespaceContext", "Lnl/adaptivity/xmlutil/IterableNamespaceContext;", "getNamespaceContext", "()Lnl/adaptivity/xmlutil/IterableNamespaceContext;", "extendNamespace", "", "Companion", "core"}, k = 1, mv = {2, 0, 0}, xi = 48)
public final class XMLFragmentStreamReader extends nl.adaptivity.xmlutil.XmlDelegatingReader implements XMLFragmentStreamReaderJava, XmlReader {

    public static final Companion INSTANCE = new Companion(null);
    private static final String WRAPPERNAMESPACE = "http://wrapperns";
    private static final String WRAPPERPPREFIX = "SDFKLJDSF";
    private FragmentNamespaceContext localNamespaceContext;

    @Metadata(k = 3, mv = {2, 0, 0}, xi = 48)
    public class WhenMappings {
        public static final int[] $EnumSwitchMapping$0;

        static {
            int[] iArr = new int[EventType.values().length];
            try {
                iArr[EventType.END_DOCUMENT.ordinal()] = 1;
            } catch (NoSuchFieldError unused) {
            }
            try {
                iArr[EventType.START_DOCUMENT.ordinal()] = 2;
            } catch (NoSuchFieldError unused2) {
            }
            try {
                iArr[EventType.PROCESSING_INSTRUCTION.ordinal()] = 3;
            } catch (NoSuchFieldError unused3) {
            }
            try {
                iArr[EventType.DOCDECL.ordinal()] = 4;
            } catch (NoSuchFieldError unused4) {
            }
            try {
                iArr[EventType.START_ELEMENT.ordinal()] = 5;
            } catch (NoSuchFieldError unused5) {
            }
            try {
                iArr[EventType.END_ELEMENT.ordinal()] = 6;
            } catch (NoSuchFieldError unused6) {
            }
            $EnumSwitchMapping$0 = iArr;
        }
    }

    @JvmStatic
    public static final XMLFragmentStreamReader from(Reader reader) {
        return INSTANCE.from(reader);
    }

    @JvmStatic
    public static final XMLFragmentStreamReader from(Reader reader, Iterable<? extends Namespace> iterable) {
        return INSTANCE.from(reader, iterable);
    }

    @JvmStatic
    public static final XMLFragmentStreamReader from(ICompactFragment iCompactFragment) {
        return INSTANCE.from(iCompactFragment);
    }

    private XMLFragmentStreamReader(XmlReader xmlReader) {
        super(xmlReader);
        this.localNamespaceContext = new FragmentNamespaceContext(null, new String[0], new String[0]);
    }

    @Override
    protected XmlReader getDelegate() {
        return super.getDelegate();
    }

    public final FragmentNamespaceContext getLocalNamespaceContext() {
        return this.localNamespaceContext;
    }

    public final void setLocalNamespaceContext(FragmentNamespaceContext fragmentNamespaceContext) {
        Intrinsics.checkNotNullParameter(fragmentNamespaceContext, "<set-?>");
        this.localNamespaceContext = fragmentNamespaceContext;
    }

    public XMLFragmentStreamReader(Reader reader, Iterable<? extends Namespace> iterable) {
        this(INSTANCE.getDelegate(reader, iterable));
        Intrinsics.checkNotNullParameter(reader, "reader");
        Intrinsics.checkNotNullParameter(iterable, "namespaces");
        if (getDelegate().getIsStarted() && getDelegate().getEventType() == EventType.START_ELEMENT) {
            extendNamespace();
        }
    }

    @Override
    public String getNamespaceURI(String prefix) {
        Intrinsics.checkNotNullParameter(prefix, "prefix");
        if ("SDFKLJDSF".contentEquals(prefix)) {
            return null;
        }
        return super.getNamespaceURI(prefix);
    }

    @Override
    public String getNamespacePrefix(String namespaceUri) {
        Intrinsics.checkNotNullParameter(namespaceUri, "namespaceUri");
        if ("http://wrapperns".contentEquals(namespaceUri)) {
            return null;
        }
        return super.getNamespacePrefix(namespaceUri);
    }

    @Override
    public EventType next() {
        EventType next = getDelegate().next();
        int i = WhenMappings.$EnumSwitchMapping$0[next.ordinal()];
        if (i == 2 || i == 3 || i == 4) {
            return next();
        }
        if (i == 5) {
            if ("http://wrapperns".contentEquals(getDelegate().getNamespaceURI())) {
                return next();
            }
            extendNamespace();
            return next;
        }
        if (i != 6) {
            return next;
        }
        if ("http://wrapperns".contentEquals(getDelegate().getNamespaceURI())) {
            return getDelegate().next();
        }
        FragmentNamespaceContext parent = this.localNamespaceContext.getParent();
        if (parent == null) {
            parent = this.localNamespaceContext;
        }
        this.localNamespaceContext = parent;
        return next;
    }

    @Override
    public IterableNamespaceContext getNamespaceContext() {
        return this.localNamespaceContext;
    }

    @Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u001e\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\n2\f\u0010\u000b\u001a\b\u0012\u0004\u0012\u00020\r0\fH\u0002J\u001e\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\t\u001a\u00020\n2\f\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\r0\fH\u0007J\u0010\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\t\u001a\u00020\nH\u0007J\u0010\u0010\u000e\u001a\u00020\u000f2\u0006\u0010\u0011\u001a\u00020\u0012H\u0007R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0005X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0013"}, d2 = {"Lnl/adaptivity/xmlutil/util/XMLFragmentStreamReader$Companion;", "", "<init>", "()V", "WRAPPERPPREFIX", "", "WRAPPERNAMESPACE", "getDelegate", "Lnl/adaptivity/xmlutil/XmlReader;", "reader", "Ljava/io/Reader;", "wrapperNamespaceContext", "", "Lnl/adaptivity/xmlutil/Namespace;", "from", "Lnl/adaptivity/xmlutil/util/XMLFragmentStreamReader;", "namespaceContext", "fragment", "Lnl/adaptivity/xmlutil/util/ICompactFragment;", "core"}, k = 1, mv = {2, 0, 0}, xi = 48)
    public static final class Companion {
        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private Companion() {
        }

        public final XmlReader getDelegate(Reader reader, Iterable<? extends Namespace> wrapperNamespaceContext) {
            StringBuilder sb = new StringBuilder("<SDFKLJDSF:wrapper xmlns:SDFKLJDSF=\"http://wrapperns\"");
            for (Namespace namespace : wrapperNamespaceContext) {
                String prefix = namespace.getPrefix();
                String namespaceURI = namespace.getNamespaceURI();
                if (Intrinsics.areEqual("", prefix)) {
                    sb.append(" xmlns");
                } else {
                    sb.append(" xmlns:");
                    sb.append(prefix);
                }
                sb.append("=\"");
                sb.append(XmlUtil.xmlEncode(namespaceURI));
                sb.append(AbstractJsonLexerKt.STRING);
            }
            sb.append(" >");
            String sb2 = sb.toString();
            Intrinsics.checkNotNullExpressionValue(sb2, "toString(...)");
            return new KtXmlReader(new CombiningReader(new StringReader(sb2), reader, new StringReader("</SDFKLJDSF:wrapper>")), false, 2, null);
        }

        @JvmStatic
        public final XMLFragmentStreamReader from(Reader reader, Iterable<? extends Namespace> namespaceContext) {
            Intrinsics.checkNotNullParameter(reader, "reader");
            Intrinsics.checkNotNullParameter(namespaceContext, "namespaceContext");
            return new XMLFragmentStreamReader(reader, namespaceContext);
        }

        @JvmStatic
        public final XMLFragmentStreamReader from(Reader reader) {
            Intrinsics.checkNotNullParameter(reader, "reader");
            return new XMLFragmentStreamReader(reader, CollectionsKt.emptyList());
        }

        @JvmStatic
        public final XMLFragmentStreamReader from(ICompactFragment fragment) {
            Intrinsics.checkNotNullParameter(fragment, "fragment");
            return new XMLFragmentStreamReader(new CharArrayReader(fragment.getContent()), fragment.getNamespaces());
        }
    }

    private final void extendNamespace() {
        List<Namespace> namespaceDecls = getDelegate().getNamespaceDecls();
        int size = namespaceDecls.size();
        String[] strArr = new String[size];
        for (int i = 0; i < size; i++) {
            strArr[i] = namespaceDecls.get(i).getPrefix();
        }
        String[] strArr2 = new String[size];
        for (int i2 = 0; i2 < size; i2++) {
            strArr2[i2] = namespaceDecls.get(i2).getNamespaceURI();
        }
        this.localNamespaceContext = new FragmentNamespaceContext(this.localNamespaceContext, strArr, strArr2);
    }
}