WSURLArrayHelper.java 2.46 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.document.xmlform;

import java.io.IOException;
import org.omg.CORBA.Any;
import org.omg.CORBA.BAD_OPERATION;
import org.omg.CORBA.MARSHAL;
import org.omg.CORBA.ORB;
import org.omg.CORBA.TCKind;
import org.omg.CORBA.TypeCode;
import org.omg.CORBA.portable.InputStream;
import org.omg.CORBA.portable.OutputStream;

public final class WSURLArrayHelper {
    private static volatile TypeCode _type;

    public static void insert(Any any, String[] s) {
        any.type(WSURLArrayHelper.type());
        WSURLArrayHelper.write(any.create_output_stream(), s);
    }

    public static String[] extract(Any any) {
        if (any.type().kind() == TCKind.tk_null) {
            throw new BAD_OPERATION("Can't extract from Any with null type.");
        }
        return WSURLArrayHelper.read(any.create_input_stream());
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     * Enabled force condition propagation
     * Lifted jumps to return sites
     */
    public static TypeCode type() {
        if (_type != null) return _type;
        Class<WSURLArrayHelper> class_ = WSURLArrayHelper.class;
        synchronized (WSURLArrayHelper.class) {
            if (_type != null) return _type;
            {
                _type = ORB.init().create_alias_tc(WSURLArrayHelper.id(), "WSURLArray", ORB.init().create_sequence_tc(0, ORB.init().create_wstring_tc(0)));
            }
            // ** MonitorExit[var0] (shouldn't be in output)
            return _type;
        }
    }

    public static String id() {
        return "IDL:com/adobe/document/xmlform/WSURLArray:1.0";
    }

    public static String[] read(InputStream _in) {
        int _l_result11 = _in.read_long();
        try {
            int x = _in.available();
            if (x > 0 && _l_result11 > x) {
                throw new MARSHAL("Sequence length too large. Only " + x + " available and trying to assign " + _l_result11);
            }
        }
        catch (IOException e) {
            // empty catch block
        }
        String[] _result = new String[_l_result11];
        for (int i = 0; i < _result.length; ++i) {
            _result[i] = _in.read_wstring();
        }
        return _result;
    }

    public static void write(OutputStream _out, String[] _s) {
        _out.write_long(_s.length);
        for (int i = 0; i < _s.length; ++i) {
            String tmpResult23 = _s[i];
            _out.write_wstring(tmpResult23);
        }
    }
}