class ReadonlyArray extends ArrayBase {
    {
        this.trace = Trace.NO_TRACE;
    }

    public ReadonlyArray(Value value) {
        this.value = value;
    }

    public ReadonlyArray(String value) {
        setValue(value);
    }

    public ReadonlyArray(Object value) {
        if (value instanceof List) {
            setValue((List<?>) value);
        } else {
            setValue(value.toString());
        }
    }

    public ReadonlyArray(Object... values) {
        setValue(values);
    }

    public ReadonlyArray(List<String> list) {
        setValue(list);
    }

    private void setValue(List<?> list) {
        setValue(list.toArray());
    }

    private void setValue(Object... values) {
        value = DataType.convertToValue(values, Value.ARRAY);
    }

    private void setValue(String value) {
        this.value = ValueString.get(value);
    }

    @Override
    public String toString() {<FILL_FUNCTION_BODY>}
}

        if (value instanceof ValueArray) {
            ValueArray va = (ValueArray) value;
            StatementBuilder buff = new StatementBuilder("[");
            for (Value v : va.getList()) {
                buff.appendExceptFirst(", ");
                buff.append(v.getString());
            }
            return buff.append(']').toString();
        }
        return value.toString();
    
<methods>public non-sealed void <init>() ,public void free() ,public java.lang.Object getArray() throws java.sql.SQLException,public java.lang.Object getArray(Map<java.lang.String,Class<?>>) throws java.sql.SQLException,public java.lang.Object getArray(long, int) throws java.sql.SQLException,public java.lang.Object getArray(long, int, Map<java.lang.String,Class<?>>) throws java.sql.SQLException,public int getBaseType() throws java.sql.SQLException,public java.lang.String getBaseTypeName() throws java.sql.SQLException,public java.sql.ResultSet getResultSet() throws java.sql.SQLException,public java.sql.ResultSet getResultSet(Map<java.lang.String,Class<?>>) throws java.sql.SQLException,public java.sql.ResultSet getResultSet(long, int) throws java.sql.SQLException,public java.sql.ResultSet getResultSet(long, int, Map<java.lang.String,Class<?>>) throws java.sql.SQLException,public java.lang.String toString() <variables>protected com.lealone.db.value.Value value