mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v3.2.1.1
This commit is contained in:
@@ -195,6 +195,8 @@ public class Bry_bfr {
|
||||
this.Add_byte(b);
|
||||
return this;
|
||||
}
|
||||
public Bry_bfr Add_byte_variable(byte v) {return Add_int_variable(v);}
|
||||
public Bry_bfr Add_short_variable(short v) {return Add_int_variable(v);}
|
||||
public Bry_bfr Add_u8_int(int val) {
|
||||
if (bfr_len + 4 > bfr_max) Resize((bfr_max + 4) * 2);
|
||||
int utf8_len = gplx.core.intls.Utf16_.Encode_int(val, bfr, bfr_len);
|
||||
@@ -204,6 +206,10 @@ public class Bry_bfr {
|
||||
public Bry_bfr Add_bool(boolean v) {return Add(v ? Bool_.True_bry : Bool_.False_bry);}
|
||||
public Bry_bfr Add_int_bool(boolean v) {return Add_int_fixed(v ? 1 : 0, 1);}
|
||||
public Bry_bfr Add_int_variable(int val) {
|
||||
if (val < 0) {
|
||||
this.Add(Int_.To_bry(val));
|
||||
return this;
|
||||
}
|
||||
int log10 = Int_.Log10(val);
|
||||
int slots = val > -1 ? log10 + 1 : log10 * -1 + 2;
|
||||
return Add_int(val, log10, slots);
|
||||
@@ -305,6 +311,12 @@ public class Bry_bfr {
|
||||
}
|
||||
catch (Exception e) {throw Err_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);}
|
||||
}
|
||||
public Bry_bfr Add_str_u8_many(String... ary) {
|
||||
int len = ary.length;
|
||||
for (int i = 0; i < len; ++i)
|
||||
Add_str_u8(ary[i]);
|
||||
return this;
|
||||
}
|
||||
public Bry_bfr Add_str_a7_null(String s) {return Add_str_a7(s == null ? String_.Null_mark : s);}
|
||||
public Bry_bfr Add_str_a7_w_nl(String s) {Add_str_a7(s); return Add_byte_nl();}
|
||||
public Bry_bfr Add_str_a7(String str) {
|
||||
|
||||
@@ -23,11 +23,6 @@ import java.text.SimpleDateFormat;
|
||||
public class DateAdp implements CompareAble, GfoInvkAble {
|
||||
public int compareTo(Object obj) {DateAdp comp = (DateAdp)obj; return under.compareTo(comp.under);}
|
||||
@Override public String toString() {return XtoStr_gplx_long();}
|
||||
public String XtoStr_gplx() {return XtoStr_fmt("yyyyMMdd_HHmmss.fff");}
|
||||
public String XtoStr_gplx_long() {return XtoStr_fmt("yyyy-MM-dd HH:mm:ss.fff");}
|
||||
public String XtoStr_fmt_HHmmss() {return XtoStr_fmt("HH:mm:ss");}
|
||||
public String XtoStr_fmt_HHmm() {return XtoStr_fmt("HH:mm");}
|
||||
public String XtoStr_fmt_yyyy_MM_dd() {return XtoStr_fmt("yyyy-MM-dd");}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_XtoStr_fmt)) return XtoStr_fmt("yyyy-MM-dd HH:mm:ss");
|
||||
else if (ctx.Match(k, Invk_AddDays)) {
|
||||
@@ -63,6 +58,11 @@ public class DateAdp implements CompareAble, GfoInvkAble {
|
||||
rv[DateAdp_.SegIdx_frac] = this.Frac();
|
||||
return rv;
|
||||
}
|
||||
public String XtoStr_gplx() {return XtoStr_fmt("yyyyMMdd_HHmmss.fff");}
|
||||
public String XtoStr_gplx_long() {return XtoStr_fmt("yyyy-MM-dd HH:mm:ss.fff");}
|
||||
public String XtoStr_fmt_HHmmss() {return XtoStr_fmt("HH:mm:ss");}
|
||||
public String XtoStr_fmt_HHmm() {return XtoStr_fmt("HH:mm");}
|
||||
public String XtoStr_fmt_yyyy_MM_dd() {return XtoStr_fmt("yyyy-MM-dd");}
|
||||
public String XtoStr_fmt_yyyyMMdd_HHmmss() {return XtoStr_fmt("yyyyMMdd_HHmmss");}
|
||||
public String XtoStr_fmt_yyyyMMdd_HHmmss_fff() {return XtoStr_fmt("yyyyMMdd_HHmmss.fff");}
|
||||
public String XtoStr_fmt_yyyyMMdd_HHmm() {return XtoStr_fmt("yyyyMMdd_HHmm");}
|
||||
|
||||
@@ -113,8 +113,10 @@ public class DateAdp_ implements GfoInvkAble {
|
||||
return new DateAdp(c);
|
||||
}
|
||||
public static final int SegIdx_year = 0, SegIdx_month = 1, SegIdx_day = 2, SegIdx_hour = 3, SegIdx_minute = 4, SegIdx_second = 5, SegIdx_frac = 6, SegIdx_dayOfWeek = 7, SegIdx_weekOfYear = 8, SegIdx_dayOfYear = 9, SegIdx__max = 10;
|
||||
public static final String Fmt_iso8561_date_time = "yyyy-MM-dd HH:mm:ss";
|
||||
public static String Xto_str_fmt_or(DateAdp v, String fmt, String or) {
|
||||
return v == null ? or : v.XtoStr_fmt(fmt);
|
||||
}
|
||||
public static final String
|
||||
Fmt_iso8561_date_time = "yyyy-MM-dd HH:mm:ss"
|
||||
, Fmt__yyyyMMdd = "yyyyMMdd";
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ public class Err_ {
|
||||
return rv;
|
||||
}
|
||||
public static Err new_unhandled(Object val) {return new Err(Bool_.Y, Trace_null, Type__gplx, "val is not in switch/if", "val", val);}
|
||||
public static Err new_unhandled_default(Object val) {return new Err(Bool_.Y, Trace_null, Type__gplx, "val is not in switch", "val", val);}
|
||||
public static Err new_unsupported() {return new Err(Bool_.Y, Trace_null, Type__gplx, "method not supported");}
|
||||
public static Err new_unimplemented() {return new Err(Bool_.Y, Trace_null, Type__gplx, "method not implemented");}
|
||||
public static Err new_unimplemented_w_msg(String msg, Object... args) {return new Err(Bool_.Y, Trace_null, Type__gplx, msg, args);}
|
||||
|
||||
@@ -56,5 +56,6 @@ public class Object_ {
|
||||
else if (Type_adp_.Eq(c, Double_.Cls_ref_type)) return Double_.To_str_loose(Double_.cast(v));
|
||||
else return v.toString();
|
||||
}
|
||||
public static final Object Null = null;
|
||||
public static final byte[] Bry__null = Bry_.new_a7("null");
|
||||
}
|
||||
@@ -19,4 +19,5 @@ package gplx;
|
||||
public class Short_ {
|
||||
public static final Class<?> Cls_ref_type = Short.class;
|
||||
public static short cast(Object obj) {try {return (Short)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, short.class, obj);}}
|
||||
public static short By_int(int v) {return (short)v;}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,16 @@ public class Bry_fmt {
|
||||
public Bry_fmt Fmt_(String v) {dirty = true; src = Bry_.new_u8(v); return this;}
|
||||
public Bry_fmt Args_(Bfr_fmt_arg... v) {dirty = true; args = v; return this;}
|
||||
public Bry_fmt Keys_(byte[]... v) {dirty = true; keys = v; return this;}
|
||||
public void Bld_bfr_many(Bry_bfr bfr, Object... vals) {
|
||||
public String Bld_many_to_str_auto_bfr(Object... vals) {
|
||||
Bry_bfr bfr = Bry_bfr_.Get();
|
||||
try {return Bld_many_to_str(bfr, vals);}
|
||||
finally {bfr.Mkr_rls();}
|
||||
}
|
||||
public String Bld_many_to_str(Bry_bfr bfr, Object... vals) {
|
||||
Bld_many(bfr, vals);
|
||||
return bfr.To_str_and_clear();
|
||||
}
|
||||
public void Bld_many(Bry_bfr bfr, Object... vals) {
|
||||
if (dirty) Compile();
|
||||
int vals_len = vals.length;
|
||||
for (int i = 0; i < itms_len; ++i) {
|
||||
|
||||
@@ -46,7 +46,7 @@ class Bry_fmt_fxt {
|
||||
public Bry_fmt_fxt Args(String key, Bfr_arg arg) {fmt.Args_(new Bfr_fmt_arg(Bry_.new_u8(key), arg)); return this;}
|
||||
public Bry_fmt_fxt Keys(String... keys) {fmt.Keys_(Bry_.Ary(keys)); return this;}
|
||||
public void Test(String expd) {
|
||||
fmt.Bld_bfr_many(bfr, vals);
|
||||
fmt.Bld_many(bfr, vals);
|
||||
Tfds.Eq(expd, bfr.To_str_and_clear());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,24 +17,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.core.criterias; import gplx.*; import gplx.core.*;
|
||||
public class Criteria_between implements Criteria {
|
||||
public Criteria_between(boolean negate, Comparable lhs, Comparable rhs) {this.negate = negate; this.lhs = lhs; this.rhs = rhs;}
|
||||
public byte Tid() {return Criteria_.Tid_between;}
|
||||
public boolean Negated() {return negate;} private final boolean negate;
|
||||
public Criteria_between(boolean neg, Comparable lo, Comparable hi) {this.neg = neg; this.lo = lo; this.hi = hi;}
|
||||
public byte Tid() {return Criteria_.Tid_between;}
|
||||
public boolean Neg() {return neg;} private final boolean neg;
|
||||
public Comparable Lo() {return lo;} private Comparable lo;
|
||||
public Comparable Hi() {return hi;} private Comparable hi;
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
public void Val_as_obj_(Object v) {
|
||||
Object[] ary = (Object[])v;
|
||||
lhs = (Comparable)ary[0];
|
||||
rhs = (Comparable)ary[1];
|
||||
lo = (Comparable)ary[0];
|
||||
hi = (Comparable)ary[1];
|
||||
}
|
||||
public Comparable Lhs() {return lhs;} private Comparable lhs;
|
||||
public Comparable Rhs() {return rhs;} private Comparable rhs;
|
||||
public String To_str() {return String_.Concat_any("BETWEEN ", lhs, " AND ", rhs);}
|
||||
public boolean Matches(Object compObj) {
|
||||
Comparable comp = CompareAble_.as_(compObj);
|
||||
int lhsResult = CompareAble_.CompareComparables(lhs, comp);
|
||||
int rhsResult = CompareAble_.CompareComparables(rhs, comp);
|
||||
boolean rv = (lhsResult * rhsResult) != 1;
|
||||
return negate ? !rv : rv;
|
||||
public boolean Matches(Object comp_obj) {
|
||||
Comparable comp = CompareAble_.as_(comp_obj);
|
||||
int lo_rslt = CompareAble_.CompareComparables(lo, comp);
|
||||
int hi_rslt = CompareAble_.CompareComparables(hi, comp);
|
||||
boolean rv = (lo_rslt * hi_rslt) != 1;
|
||||
return neg ? !rv : rv;
|
||||
}
|
||||
public static Criteria_between as_(Object obj) {return obj instanceof Criteria_between ? (Criteria_between)obj : null;}
|
||||
|
||||
public String To_str() {return String_.Concat_any("BETWEEN ", lo, " AND ", hi);}
|
||||
}
|
||||
|
||||
@@ -17,21 +17,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.core.criterias; import gplx.*; import gplx.core.*;
|
||||
public class Criteria_comp implements Criteria {
|
||||
private final int comp_mode;
|
||||
@gplx.Internal protected Criteria_comp(int comp_mode, Comparable val) {this.comp_mode = comp_mode; this.val = val;}
|
||||
public byte Tid() {return Criteria_.Tid_comp;}
|
||||
public Comparable Val() {return val;} private Comparable val;
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
public void Val_as_obj_(Object v) {val = (Comparable)v;}
|
||||
public boolean Matches(Object compObj) {
|
||||
Comparable comp = CompareAble_.as_(compObj);
|
||||
return CompareAble_.Is(comp_mode, comp, val);
|
||||
public int Comp_mode() {return comp_mode;} private final int comp_mode;
|
||||
public boolean Matches(Object comp_obj) {
|
||||
return CompareAble_.Is(comp_mode, CompareAble_.as_(comp_obj), val);
|
||||
}
|
||||
public String To_str() {return String_.Concat_any(XtoSymbol(), " ", val);}
|
||||
public String XtoSymbol() {
|
||||
|
||||
public String To_str() {
|
||||
String comp_sym = comp_mode < CompareAble_.Same ? "<" : ">";
|
||||
String eq_sym = comp_mode % 2 == CompareAble_.Same ? "=" : "";
|
||||
return comp_sym + eq_sym;
|
||||
return String_.Concat_any(comp_sym, eq_sym, " ", val);
|
||||
}
|
||||
public static Criteria_comp as_(Object obj) {return obj instanceof Criteria_comp ? (Criteria_comp)obj : null;}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.core.criterias; import gplx.*; import gplx.core.*;
|
||||
public class Criteria_eq implements Criteria {
|
||||
@gplx.Internal protected Criteria_eq(boolean negated, Object val) {this.negated = negated; this.val = val;}
|
||||
@gplx.Internal protected Criteria_eq(boolean neg, Object val) {this.neg = neg; this.val = val;}
|
||||
public byte Tid() {return Criteria_.Tid_eq;}
|
||||
public boolean Negated() {return negated;} private final boolean negated;
|
||||
public boolean Neg() {return neg;} private final boolean neg;
|
||||
public Object Val() {return val;} private Object val;
|
||||
public void Val_as_obj_(Object v) {this.val = v;}
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
@@ -27,7 +27,7 @@ public class Criteria_eq implements Criteria {
|
||||
Class<?> val_type = Type_adp_.ClassOf_obj(val);
|
||||
if (!Type_adp_.Eq_typeSafe(comp, val_type)) throw Err_.new_type_mismatch(val_type, comp);
|
||||
boolean rv = Object_.Eq(val, comp);
|
||||
return negated ? !rv : rv;
|
||||
return neg ? !rv : rv;
|
||||
}
|
||||
public String To_str() {return String_.Concat_any("= ", val);}
|
||||
public static Criteria_eq as_(Object obj) {return obj instanceof Criteria_eq ? (Criteria_eq)obj : null;}
|
||||
|
||||
@@ -17,8 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.core.criterias; import gplx.*; import gplx.core.*;
|
||||
public class Criteria_fld implements Criteria {
|
||||
Criteria_fld(String key, Criteria crt) {this.key = key; this.crt = crt;}
|
||||
Criteria_fld(String pre, String key, Criteria crt) {this.pre = pre; this.key = key; this.crt = crt;}
|
||||
public byte Tid() {return Criteria_.Tid_wrapper;}
|
||||
public String Pre() {return pre;} private final String pre;
|
||||
public String Key() {return key;} private final String key;
|
||||
public Criteria Crt() {return crt;} private final Criteria crt;
|
||||
public void Val_as_obj_(Object v) {throw Err_.new_unimplemented();}
|
||||
@@ -34,9 +35,11 @@ public class Criteria_fld implements Criteria {
|
||||
return crt.Matches(comp);
|
||||
}
|
||||
public String To_str() {return String_.Concat(key, " ", crt.To_str());}
|
||||
public static final String Key_null = null;
|
||||
|
||||
public static final String Key_null = null, Pre_null = null;
|
||||
public static Criteria_fld as_(Object obj) {return obj instanceof Criteria_fld ? (Criteria_fld)obj : null;}
|
||||
public static Criteria_fld new_(String key, Criteria crt) {return new Criteria_fld(key, crt);}
|
||||
public static Criteria_fld new_(String pre, String key, Criteria crt) {return new Criteria_fld(pre, key, crt);}
|
||||
public static Criteria_fld new_(String key, Criteria crt) {return new Criteria_fld(Pre_null, key, crt);}
|
||||
public static Object Fill_val(String key, byte tid, List_adp list) {
|
||||
int len = list.Count();
|
||||
switch (tid) {
|
||||
|
||||
@@ -17,30 +17,32 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.core.criterias; import gplx.*; import gplx.core.*;
|
||||
public class Criteria_in implements Criteria {
|
||||
public Criteria_in(boolean negated, Object[] ary) {this.negated = negated; Val_as_obj_ary_(ary);}
|
||||
public Criteria_in(boolean neg, Object[] ary) {this.neg = neg; Ary_(ary);}
|
||||
public byte Tid() {return Criteria_.Tid_in;}
|
||||
public boolean Negated() {return negated;} private final boolean negated;
|
||||
public Object[] Val_as_obj_ary() {return ary;} private Object[] ary; private Class<?> ary_type; private int ary_len;
|
||||
private void Val_as_obj_ary_(Object[] v) {
|
||||
public boolean Neg() {return neg;} private final boolean neg;
|
||||
public Object[] Ary() {return ary;} private Object[] ary;
|
||||
public int Ary_len() {return ary_len;} private int ary_len;
|
||||
public Class<?> Itm_type() {return itm_type;} private Class<?> itm_type;
|
||||
private void Ary_(Object[] v) {
|
||||
this.ary = v;
|
||||
ary_len = Array_.Len(ary);
|
||||
ary_type = ary_len == 0 ? Object.class : Type_adp_.ClassOf_obj(ary[0]);
|
||||
this.ary_len = ary.length;
|
||||
this.itm_type = ary_len == 0 ? Object.class : Type_adp_.ClassOf_obj(ary[0]);
|
||||
}
|
||||
public void Val_as_obj_(Object v) {Val_as_obj_ary_((Object[])v);}
|
||||
public void Val_as_obj_(Object v) {Ary_((Object[])v);}
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
public boolean Matches(Object comp) {
|
||||
if (ary_len == 0) return false; // empty array never matches
|
||||
if (!Type_adp_.Eq_typeSafe(comp, ary_type)) throw Err_.new_type_mismatch(ary_type, comp);
|
||||
if (!Type_adp_.Eq_typeSafe(comp, itm_type)) throw Err_.new_type_mismatch(itm_type, comp);
|
||||
boolean rv = false;
|
||||
for (int i = 0; i < ary_len; i++) {
|
||||
for (int i = 0; i < ary_len; ++i) {
|
||||
Object val = ary[i];
|
||||
if (Object_.Eq(val, comp)) {
|
||||
rv = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return negated ? !rv : rv;
|
||||
return neg ? !rv : rv;
|
||||
}
|
||||
|
||||
public String To_str() {return String_.Concat_any("IN ", String_.Concat_any(ary));}
|
||||
public static Criteria_in as_(Object obj) {return obj instanceof Criteria_in ? (Criteria_in)obj : null;}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import gplx.core.texts.*;
|
||||
public class Criteria_ioMatch implements Criteria { // EX: url IOMATCH '*.xml|*.txt'
|
||||
public Criteria_ioMatch(boolean match, RegxPatn_cls_ioMatch pattern) {this.match = match; this.pattern = pattern;}
|
||||
public byte Tid() {return Criteria_.Tid_iomatch;}
|
||||
public boolean Negated() {return !match;} private final boolean match;
|
||||
public boolean Neg() {return !match;} private final boolean match;
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
public void Val_as_obj_(Object v) {this.pattern = (RegxPatn_cls_ioMatch)v;}
|
||||
public RegxPatn_cls_ioMatch Pattern() {return pattern;} private RegxPatn_cls_ioMatch pattern;
|
||||
|
||||
@@ -18,19 +18,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
package gplx.core.criterias; import gplx.*; import gplx.core.*;
|
||||
import gplx.core.texts.*; /*RegxPatn_cls_like*/
|
||||
public class Criteria_like implements Criteria {
|
||||
@gplx.Internal protected Criteria_like(boolean negated, RegxPatn_cls_like pattern) {
|
||||
this.negated = negated; this.pattern = pattern;
|
||||
}
|
||||
@gplx.Internal protected Criteria_like(boolean neg, RegxPatn_cls_like pattern) {this.neg = neg; this.pattern = pattern;}
|
||||
public byte Tid() {return Criteria_.Tid_like;}
|
||||
public boolean Negated() {return negated;} private final boolean negated;
|
||||
public boolean Neg() {return neg;} private final boolean neg;
|
||||
public RegxPatn_cls_like Pattern() {return pattern;} private RegxPatn_cls_like pattern;
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
public void Val_as_obj_(Object v) {this.pattern = (RegxPatn_cls_like)v;}
|
||||
public boolean Matches(Object compObj) {
|
||||
String comp = String_.as_(compObj); if (comp == null) throw Err_.new_type_mismatch(String.class, compObj);
|
||||
boolean rv = pattern.Matches(comp);
|
||||
return negated ? !rv : rv;
|
||||
return neg ? !rv : rv;
|
||||
}
|
||||
|
||||
public String To_str() {return String_.Concat_any("LIKE ", pattern);}
|
||||
public static Criteria_like as_(Object obj) {return obj instanceof Criteria_like ? (Criteria_like)obj : null;}
|
||||
}
|
||||
@@ -39,7 +39,7 @@ public interface DataRdr extends SrlMgr, Rls_able {
|
||||
double ReadDouble(String key); double ReadDoubleOr(String key, double or);
|
||||
float ReadFloat(String key); float ReadFloatOr(String key, float or);
|
||||
byte ReadByte(String key); byte ReadByteOr(String key, byte or);
|
||||
Decimal_adp ReadDecimal(String key); Decimal_adp ReadDecimalOr(String key, Decimal_adp or);
|
||||
Decimal_adp ReadDecimal(String key); Decimal_adp ReadDecimalOr(String key, Decimal_adp or);
|
||||
DateAdp ReadDate(String key); DateAdp ReadDateOr(String key, DateAdp or);
|
||||
gplx.core.ios.Io_stream_rdr ReadRdr(String key);
|
||||
|
||||
|
||||
@@ -21,6 +21,12 @@ public class DataRdr_ {
|
||||
public static final DataRdr Null = new DataRdr_null();
|
||||
public static DataRdr as_(Object obj) {return obj instanceof DataRdr ? (DataRdr)obj : null;}
|
||||
public static DataRdr cast(Object obj) {try {return (DataRdr)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, DataRdr.class, obj);}}
|
||||
|
||||
public static Object Read_1st_row_and_1st_fld(DataRdr rdr) {
|
||||
try {return rdr.MoveNextPeer() ? rdr.ReadAt(0) : null;}
|
||||
finally {rdr.Rls();}
|
||||
}
|
||||
|
||||
}
|
||||
class DataRdr_null implements DataRdr {
|
||||
public String NameOfNode() {return To_str();} public String To_str() {return "<< NULL READER >>";}
|
||||
@@ -34,8 +40,8 @@ class DataRdr_null implements DataRdr {
|
||||
public KeyVal KeyValAt(int i) {return KeyVal_.new_(this.KeyAt(i), this.ReadAt(i));}
|
||||
public Object Read(String name) {return null;}
|
||||
public String ReadStr(String key) {return String_.Empty;} public String ReadStrOr(String key, String or) {return or;}
|
||||
public byte[] ReadBryByStr(String key) {return Bry_.Empty;} public byte[] ReadBryByStrOr(String key, byte[] or) {return or;}
|
||||
public byte[] ReadBry(String key) {return Bry_.Empty;} public byte[] ReadBryOr(String key, byte[] or) {return or;}
|
||||
public byte[] ReadBryByStr(String key) {return Bry_.Empty;} public byte[] ReadBryByStrOr(String key, byte[] or) {return or;}
|
||||
public byte[] ReadBry(String key) {return Bry_.Empty;} public byte[] ReadBryOr(String key, byte[] or) {return or;}
|
||||
public char ReadChar(String key) {return Char_.Null;} public char ReadCharOr(String key, char or) {return or;}
|
||||
public int ReadInt(String key) {return Int_.Min_value;} public int ReadIntOr(String key, int or) {return or;}
|
||||
public boolean ReadBool(String key) {return false;} public boolean ReadBoolOr(String key, boolean or) {return or;}
|
||||
|
||||
Reference in New Issue
Block a user