1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2024-10-27 20:34:16 +00:00
This commit is contained in:
gnosygnu 2015-02-01 15:11:16 -05:00
parent 5efed51da9
commit 3df6db4b7b
410 changed files with 1577 additions and 1150 deletions

View File

@ -15,8 +15,10 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
public interface Criteria extends XtoStrAble {
byte Crt_tid();
byte Tid();
boolean Matches(Object obj);
void Val_from_args(HashAdp args);
void Val_as_obj_(Object obj);
}

View File

@ -15,12 +15,11 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
import gplx.criterias.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
import gplx.texts.*; /*RegxPatn_cls_like*/
public class Criteria_ {
public static final Criteria All = new Criteria_const(true);
public static final Criteria None = new Criteria_const(false);
public static final Criteria All = new Criteria_const(true);
public static final Criteria None = new Criteria_const(false);
public static Criteria Not(Criteria arg) {return new Criteria_not(arg);}
public static Criteria And(Criteria lhs, Criteria rhs) {return new Criteria_and(lhs, rhs);}
public static Criteria And_many(Criteria... ary) {

View File

@ -15,12 +15,19 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
public class Criteria_between implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_between;}
public boolean Negated() {return negate;} private boolean negate;
public Comparable Lhs() {return lhs;} Comparable lhs;
public Comparable Rhs() {return rhs;} Comparable rhs;
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 void Val_from_args(HashAdp args) {throw Err_.not_implemented_();}
public void Val_as_obj_(Object v) {
Object[] ary = (Object[])v;
lhs = (Comparable)ary[0];
rhs = (Comparable)ary[1];
}
public Comparable Lhs() {return lhs;} private Comparable lhs;
public Comparable Rhs() {return rhs;} private Comparable rhs;
public String XtoStr() {return String_.Concat_any("BETWEEN ", lhs, " AND ", rhs);}
public boolean Matches(Object compObj) {
Comparable comp = CompareAble_.as_(compObj);
@ -29,6 +36,5 @@ public class Criteria_between implements Criteria {
boolean rv = (lhsResult * rhsResult) != 1;
return negate ? !rv : rv;
}
public Criteria_between(boolean negate, Comparable lhs, Comparable rhs) {this.negate = negate; this.lhs = lhs; this.rhs = rhs;}
public static Criteria_between as_(Object obj) {return obj instanceof Criteria_between ? (Criteria_between)obj : null;}
}

View File

@ -0,0 +1,57 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.core.criterias; import gplx.*; import gplx.core.*;
public abstract class Criteria_bool_base implements Criteria {
@gplx.Internal protected void Ctor(String op_literal, Criteria lhs, Criteria rhs) {this.op_literal = op_literal; this.lhs = lhs; this.rhs = rhs;}
public abstract byte Tid();
public abstract boolean Matches(Object curVal);
public void Val_from_args(HashAdp args) {lhs.Val_from_args(args); rhs.Val_from_args(args);}
public void Val_as_obj_(Object v) {throw Err_.not_implemented_();}
public String XtoStr() {return String_.Concat(lhs.XtoStr(), " ", this.op_literal, " ", rhs.XtoStr());}
public String Op_literal() {return op_literal;} private String op_literal;
public Criteria Lhs() {return lhs;} private Criteria lhs;
public Criteria Rhs() {return rhs;} private Criteria rhs;
public static Criteria_bool_base as_(Object obj) {return obj instanceof Criteria_bool_base ? (Criteria_bool_base)obj : null;}
}
class Criteria_and extends Criteria_bool_base {
public Criteria_and(Criteria lhs, Criteria rhs) {this.Ctor("AND", lhs, rhs);}
@Override public byte Tid() {return Criteria_.Tid_not;}
@Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) && this.Rhs().Matches(curVal);}
}
class Criteria_or extends Criteria_bool_base {
public Criteria_or(Criteria lhs, Criteria rhs) {this.Ctor("OR", lhs, rhs);}
@Override public byte Tid() {return Criteria_.Tid_or;}
@Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) || this.Rhs().Matches(curVal);}
}
class Criteria_const implements Criteria {
public Criteria_const(boolean val) {this.val = val;}
public byte Tid() {return Criteria_.Tid_const;}
public boolean Matches(Object comp) {return val;} private final boolean val;
public void Val_from_args(HashAdp args) {;}
public void Val_as_obj_(Object v) {throw Err_.not_implemented_();}
public String XtoStr() {return String_.Concat(" IS ", Bool_.Xto_str_lower(val));}
}
class Criteria_not implements Criteria {
private final Criteria criteria;
public Criteria_not(Criteria v) {this.criteria = v;}
public byte Tid() {return Criteria_.Tid_not;}
public boolean Matches(Object obj) {return !criteria.Matches(obj);}
public void Val_from_args(HashAdp args) {criteria.Val_from_args(args);}
public void Val_as_obj_(Object v) {criteria.Val_as_obj_(v);}
public String XtoStr() {return String_.Concat_any(" NOT ", criteria.XtoStr());}
}

View File

@ -15,22 +15,23 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
public class Criteria_comp implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_comp;}
public Comparable Value() {return val;} final Comparable val;
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(HashAdp args) {throw Err_.not_implemented_();}
public void Val_as_obj_(Object v) {val = (Comparable)v;}
public boolean Matches(Object compObj) {
Comparable comp = CompareAble_.as_(compObj);
return CompareAble_.Is(compMode, comp, val);
return CompareAble_.Is(comp_mode, comp, val);
}
public String XtoStr() {return String_.Concat_any(XtoSymbol(), " ", val);}
public String XtoSymbol() {
String compSym = compMode < CompareAble_.Same ? "<" : ">";
String eqSym = compMode % 2 == CompareAble_.Same ? "=" : "";
return compSym + eqSym;
String comp_sym = comp_mode < CompareAble_.Same ? "<" : ">";
String eq_sym = comp_mode % 2 == CompareAble_.Same ? "=" : "";
return comp_sym + eq_sym;
}
int compMode;
@gplx.Internal protected Criteria_comp(int compMode, Comparable val) {this.compMode = compMode; this.val = val;}
public static Criteria_comp as_(Object obj) {return obj instanceof Criteria_comp ? (Criteria_comp)obj : null;}
}

View File

@ -15,19 +15,20 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
public class Criteria_eq implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_eq;}
public boolean Negated() {return negated;} private boolean negated;
public Object Value() {return val;} Object val;
@gplx.Internal protected Criteria_eq(boolean negated, Object val) {this.negated = negated; this.val = val;}
public byte Tid() {return Criteria_.Tid_eq;}
public boolean Negated() {return negated;} private final boolean negated;
public Object Val() {return val;} private Object val;
public void Val_as_obj_(Object v) {this.val = v;}
public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();}
public boolean Matches(Object comp) {
Class<?> valType = ClassAdp_.ClassOf_obj(val);
if (!ClassAdp_.Eq_typeSafe(comp, valType)) throw Err_.type_mismatch_(valType, comp);
Class<?> val_type = ClassAdp_.ClassOf_obj(val);
if (!ClassAdp_.Eq_typeSafe(comp, val_type)) throw Err_.type_mismatch_(val_type, comp);
boolean rv = Object_.Eq(val, comp);
return negated ? !rv : rv;
}
public String XtoStr() {return String_.Concat_any("= ", val);}
@gplx.Internal protected Criteria_eq(boolean negated, Object val) {this.negated = negated; this.val = val;}
public static Criteria_eq as_(Object obj) {return obj instanceof Criteria_eq ? (Criteria_eq)obj : null;}
}

View File

@ -0,0 +1,67 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
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;}
public byte Tid() {return Criteria_.Tid_wrapper;}
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_.not_implemented_();}
public void Val_from_args(HashAdp args) {
ListAdp list = (ListAdp)args.Fetch(key); if (list == null) throw Err_.new_("criteria.fld key not found; key={0}", key);
Object o = Fill_val(key, crt.Tid(), list);
crt.Val_as_obj_(o);
}
public boolean Matches(Object invkObj) {
GfoInvkAble invk = (GfoInvkAble)invkObj;
if (key == Criteria_fld.Key_null) return crt.Matches(invkObj);
Object comp = GfoInvkAble_.InvkCmd(invk, key);
return crt.Matches(comp);
}
public String XtoStr() {return String_.Concat(key, " ", crt.XtoStr());}
public static final String Key_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 Object Fill_val(String key, byte tid, ListAdp list) {
int len = list.Count();
switch (tid) {
case Criteria_.Tid_eq:
case Criteria_.Tid_comp:
case Criteria_.Tid_like:
case Criteria_.Tid_iomatch:
if (len != 1) throw Err_.new_("list.len should be 1; key={0} tid={1} len={2}", key, tid, len);
return list.FetchAt(0);
case Criteria_.Tid_between:
if (len != 2) throw Err_.new_("list.len should be 2; key={0} tid={1} len={2}", key, tid, len);
return new Object[] {list.FetchAt(0), list.FetchAt(1)};
case Criteria_.Tid_in:
if (len == 0) throw Err_.new_("list.len should be > 0; key={0} tid={1} len={2}", key, tid, len);
return list.Xto_obj_ary();
case Criteria_.Tid_const:
case Criteria_.Tid_not:
case Criteria_.Tid_and:
case Criteria_.Tid_or:
if (len != 0) throw Err_.new_("list.len should be == 0; key={0} tid={1} len={2}", key, tid, len);
return key; // no values to fill in; return back key
case Criteria_.Tid_wrapper: // not recursive
case Criteria_.Tid_db_obj_ary: // unsupported
case Criteria_.Tid_custom:
default: throw Err_.unhandled(tid);
}
}
}

View File

@ -15,16 +15,24 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
public class Criteria_in implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_in;}
public boolean Negated() {return negated;} private boolean negated;
public Object[] Values() {return ary;} Object[] ary; Class<?> aryType; int aryLen;
public Criteria_in(boolean negated, Object[] ary) {this.negated = negated; Val_as_obj_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) {
this.ary = v;
ary_len = Array_.Len(ary);
ary_type = ary_len == 0 ? Object.class : ClassAdp_.ClassOf_obj(ary[0]);
}
public void Val_as_obj_(Object v) {Val_as_obj_ary_((Object[])v);}
public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();}
public boolean Matches(Object comp) {
if (aryLen == 0) return false; // empty array never matches
if (!ClassAdp_.Eq_typeSafe(comp, aryType)) throw Err_.type_mismatch_(aryType, comp);
if (ary_len == 0) return false; // empty array never matches
if (!ClassAdp_.Eq_typeSafe(comp, ary_type)) throw Err_.type_mismatch_(ary_type, comp);
boolean rv = false;
for (int i = 0; i < aryLen; i++) {
for (int i = 0; i < ary_len; i++) {
Object val = ary[i];
if (Object_.Eq(val, comp)) {
rv = true;
@ -34,10 +42,5 @@ public class Criteria_in implements Criteria {
return negated ? !rv : rv;
}
public String XtoStr() {return String_.Concat_any("IN ", String_.Concat_any(ary));}
public Criteria_in(boolean negated, Object[] vals) {
this.negated = negated; this.ary = vals;
aryLen = Array_.Len(ary);
aryType = aryLen == 0 ? Object.class : ClassAdp_.ClassOf_obj(ary[0]);
}
public static Criteria_in as_(Object obj) {return obj instanceof Criteria_in ? (Criteria_in)obj : null;}
}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
import org.junit.*;
import gplx.ios.*;
public class Criteria_ioItm_tst {
@ -42,7 +42,7 @@ public class Criteria_ioItm_tst {
fx_crt.tst_Matches(crt, Io_url_.new_any_("file.txt"));
fx_crt.tst_MatchesNot(crt, Io_url_.new_any_("file.xml"));
}
Criteria crt_(String fld, Criteria crt) {return Criteria_wrapper.new_(fld, crt);}
Criteria crt_(String fld, Criteria crt) {return Criteria_fld.new_(fld, crt);}
void tst_Match(boolean expt, Criteria fieldCrt, IoItm_base... ary) {
for (IoItm_base itm : ary)
Tfds.Eq(expt, fieldCrt.Matches(itm));

View File

@ -15,21 +15,23 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
import gplx.texts.*;
public class Criteria_ioMatch implements Criteria { //url IOMATCH '*.xml|*.txt'
public byte Crt_tid() {return Criteria_.Tid_iomatch;}
public static final String TokenName = "IOMATCH";
public boolean Negated() {return !match;} private final boolean match;
public RegxPatn_cls_ioMatch Pattern() {return pattern;} private final RegxPatn_cls_ioMatch pattern;
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 void Val_from_args(HashAdp args) {throw Err_.not_implemented_();}
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;
public boolean Matches(Object compObj) {
Io_url comp = (Io_url)compObj;
boolean rv = pattern.Matches(comp.XtoCaseNormalized());
return match ? rv : !rv;
}
public String XtoStr() {return String_.Concat_any("IOMATCH ", pattern);}
public Criteria_ioMatch(boolean match, RegxPatn_cls_ioMatch pattern) {this.match = match; this.pattern = pattern;}
public static final String TokenName = "IOMATCH";
public static Criteria_ioMatch as_(Object obj) {return obj instanceof Criteria_ioMatch ? (Criteria_ioMatch)obj : null;}
public static Criteria_ioMatch parse_(boolean match, String raw, boolean caseSensitive) {return new Criteria_ioMatch(match, RegxPatn_cls_ioMatch_.parse_(raw, caseSensitive));}
}

View File

@ -15,20 +15,22 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
import gplx.texts.*; /*RegxPatn_cls_like*/
public class Criteria_like implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_like;}
public boolean Negated() {return negated;} private boolean negated;
public RegxPatn_cls_like Pattern() {return pattern;} RegxPatn_cls_like pattern;
@gplx.Internal protected Criteria_like(boolean negated, RegxPatn_cls_like pattern) {
this.negated = negated; this.pattern = pattern;
}
public byte Tid() {return Criteria_.Tid_like;}
public boolean Negated() {return negated;} private final boolean negated;
public RegxPatn_cls_like Pattern() {return pattern;} private RegxPatn_cls_like pattern;
public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();}
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_.type_mismatch_(String.class, compObj);
boolean rv = pattern.Matches(comp);
return negated ? !rv : rv;
}
public String XtoStr() {return String_.Concat_any("LIKE ", pattern);}
@gplx.Internal protected Criteria_like(boolean negated, RegxPatn_cls_like pattern) {
this.negated = negated; this.pattern = pattern;
}
public static Criteria_like as_(Object obj) {return obj instanceof Criteria_like ? (Criteria_like)obj : null;}
}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
package gplx.core.criterias; import gplx.*; import gplx.core.*;
import org.junit.*;
public class Criteria_tst {
@Test public void Equal() {

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Bool_obj_ref {
public boolean Val() {return val;} private boolean val;
public boolean Val_y() {return val;}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Bool_obj_val {
Bool_obj_val(int v) {val = v;} private final int val;
public boolean Val() {return val == 1;}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Bry_obj_ref {
public byte[] Val() {return val;} public Bry_obj_ref Val_(byte[] v) {val = v; return this;} private byte[] val;
@Override public int hashCode() {return CalcHashCode(val, 0, val.length);}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Byte_obj_ref {
public byte Val() {return val;} private byte val;
public Byte_obj_ref Val_(byte v) {val = v; return this;}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Byte_obj_val {
public byte Val() {return val;} private byte val;
@Override public String toString() {return Int_.Xto_str(val);}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Double_obj_val implements CompareAble {
public double Val() {return val;} double val;
@Override public String toString() {return Double_.Xto_str(val);}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Int_obj_ref {
public int Val() {return val;} public Int_obj_ref Val_(int v) {val = v; return this;} int val;
public int Val_add() {val++; return val;}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class Int_obj_val implements CompareAble {
public int Val() {return val;} int val;
@Override public String toString() {return Int_.Xto_str(val);}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class String_obj_ref {
public String Val() {return val;} public String_obj_ref Val_(String v) {val = v; return this;} private String val;
public String_obj_ref Val_null_() {return Val_(null);}

View File

@ -15,17 +15,13 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.primitives; import gplx.*; import gplx.core.*;
public class String_obj_val implements CompareAble {
public String Val() {return val;} private String val;
public String Val() {return val;} private final String val;
@Override public String toString() {return val;}
public int compareTo(Object obj) {
String_obj_val comp = (String_obj_val)obj;
return String_.Compare_strict(val, comp.val);
}
public static String_obj_val new_(String val) {
String_obj_val rv = new String_obj_val();
rv.val = val;
return rv;
} String_obj_val() {}
public static String_obj_val new_(String val) {return new String_obj_val(val);} String_obj_val(String val) {this.val = val;}
}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.strings; import gplx.*; import gplx.core.*;
public interface String_bldr {
boolean Has_none();
boolean Has_some();

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.strings; import gplx.*; import gplx.core.*;
public class String_bldr_ {
public static String_bldr new_() {return new String_bldr_thread_single();}
public static String_bldr new_thread() {return new String_bldr_thread_multiple();}

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.strings; import gplx.*; import gplx.core.*;
public class String_ring {
String[] ary = String_.Ary_empty;
public int Len() {return len;} int len;

View File

@ -15,7 +15,7 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
package gplx.core.strings; import gplx.*; import gplx.core.*;
import org.junit.*;
public class String_ring_tst {
String_ring_fxt fxt = new String_ring_fxt();

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class ErrMsgWtr {
public String Message_gplx(Exception thrown) {
Err err = Err.convert_(thrown); // convert thrown to Err to make rest of class easier

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class Err_ { //_20110415
public static Err as_(Object obj) {return obj instanceof Err ? (Err)obj : null;}
public static Err new_(String fmt, Object... args) {return Err.hdr_(String_.Format(fmt, args));}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class SrlAble_ {
public static SrlAble as_(Object obj) {return obj instanceof SrlAble ? (SrlAble)obj : null;}
public static String XtoStr(GfoMsg owner) {

View File

@ -17,6 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import java.lang.reflect.Array;
import gplx.core.strings.*;
public class Array_ {
public static void Sort(Object[] obj) {ListAdp_Sorter.new_().Sort(obj, obj.length);}
public static void Sort(Object[] obj, gplx.lists.ComparerAble comparer) {ListAdp_Sorter.new_().Sort(obj, obj.length, true, comparer);}

View File

@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import java.lang.*;
import gplx.ios.*;
import gplx.core.primitives.*; import gplx.ios.*;
public class Bry_ {
public static final String Cls_val_name = "byte[]";
public static final int NotFound = -1;
@ -493,6 +493,8 @@ public class Bry_ {
public static boolean Match(byte[] src, int src_bgn, byte[] find) {return Match(src, src_bgn, src.length, find, 0, find.length);}
public static boolean Match(byte[] src, int src_bgn, int src_end, byte[] find) {return Match(src, src_bgn, src_end, find, 0, find.length);}
public static boolean Match(byte[] src, int src_bgn, int src_end, byte[] find, int find_bgn, int find_end) {
int src_len = src.length;
if (src_end > src_len) src_end = src_len; // must limit src_end to src_len, else ArrayIndexOutOfBounds below; DATE:2015-01-31
int find_len = find_end - find_bgn;
if (find_len != src_end - src_bgn) return false;
if (find_len == 0) return src_end - src_bgn == 0; // "" only matches ""
@ -705,8 +707,8 @@ public class Bry_ {
}
public static float XtoFloatByPos(byte[] ary, int bgn, int end) {return Float_.parse_(String_.new_utf8_(ary, bgn, end));}
public static double Xto_double(byte[] bry) {return Double_.parse_(String_.new_utf8_(bry, 0, bry.length));}
public static double Xto_double_or(byte[] bry, double or) {return Double_.parseOr_(String_.new_utf8_(bry, 0, bry.length), or);}
public static double XtoDoubleByPosOr(byte[] ary, int bgn, int end, double or) {return Double_.parseOr_(String_.new_utf8_(ary, bgn, end), or);}
public static double Xto_double_or(byte[] bry, double or) {return Double_.parse_or(String_.new_utf8_(bry, 0, bry.length), or);}
public static double XtoDoubleByPosOr(byte[] ary, int bgn, int end, double or) {return Double_.parse_or(String_.new_utf8_(ary, bgn, end), or);}
public static double XtoDoubleByPos(byte[] ary, int bgn, int end) {return Double_.parse_(String_.new_utf8_(ary, bgn, end));}
public static DecimalAdp XtoDecimalByPos(byte[] ary, int bgn, int end) {return DecimalAdp_.parse_(String_.new_utf8_(ary, bgn, end));}
public static final byte Dlm_fld = (byte)'|', Dlm_row = (byte)'\n', Dlm_quote = (byte)'"', Dlm_null = 0, Ascii_zero = 48;

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import org.junit.*;
import org.junit.*; import gplx.core.primitives.*;
import gplx.texts.*;
public class Bry__tst {
@Test public void MidByPos() {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*;
public class Bry_bfr {
public byte[] Bfr() {return bfr;} private byte[] bfr;
@gplx.Internal protected int Bfr_max() {return bfr_max;} private int bfr_max;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*; import gplx.core.strings.*;
public class Bry_fmtr {
public byte[] Fmt() {return fmt;} private byte[] fmt = Bry_.Empty;
public boolean Fmt_null() {return fmt.length == 0;}

View File

@ -17,17 +17,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
public class Double_ {
public static final Class<?> Cls_ref_type = Double.class;
public static final String Cls_val_name = "double";
public static final double Inf_pos = Double.POSITIVE_INFINITY;;
public static final double NaN = Double.NaN;;
public static final Class<?> Cls_ref_type = Double.class;
public static final double
MinValue = Double.MIN_VALUE
, NaN = Double.NaN
, Inf_pos = Double.POSITIVE_INFINITY
;
public static final byte[] NaN_bry = Bry_.new_ascii_("NaN");
public static boolean IsNaN(double v) {return Double.isNaN(v);}
public static int Compare(double lhs, double rhs) {
if (lhs == rhs) return CompareAble_.Same;
else if (lhs < rhs) return CompareAble_.Less;
else return CompareAble_.More;
}
public static double cast_(Object o) {try {return (Double)o;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, double.class, o);}}
public static double parse_(String raw) {try {return Double.parseDouble(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, double.class, raw);}}
public static double parse_or(String raw, double v) {try {return Double.parseDouble(raw);} catch(Exception e) {Err_.Noop(e); return v;}}
public static double coerce_(Object v) {
try {String s = String_.as_(v); return s == null ? Double_.cast_(v) : Double_.parse_(s);}
catch (Exception e) {throw Err_.cast_(e, double.class, v);}
@ -42,8 +43,9 @@ public class Double_ {
? Int_.Xto_str(v_as_int) // convert to int, and call print String to eliminate any trailing decimal places
: Float_.Xto_str((float)v); // calling ((float)v).toString is better at removing trailing 0s than String.format("%g", v). note that .net .toString() handles it better; EX:2449.600000000000d; DATE:2014-07-29
}
public static double cast_(Object o) {try {return (Double)o;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, double.class, o);}}
public static double parse_(String raw) {try {return Double.parseDouble(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, double.class, raw);}}
public static double parseOr_(String raw, double v) {try {return Double.parseDouble(raw);} catch(Exception e) {Err_.Noop(e); return v;}}
public static final double MinValue = Double.MIN_VALUE;
public static int Compare(double lhs, double rhs) {
if (lhs == rhs) return CompareAble_.Same;
else if (lhs < rhs) return CompareAble_.Less;
else return CompareAble_.More;
}
}

View File

@ -17,26 +17,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
public class Float_ {
public static final Class<?> Cls_ref_type = Float.class;
public static final String Cls_val_name = "float";
public static final Class<?> Cls_ref_type = Float.class;
public static final float NaN = Float.NaN;;
public static boolean IsNaN(float v) {return Float.isNaN(v);}
public static int RoundUp(float val) {
int rv = (int)val;
return (rv == val) ? rv : rv + 1;
}
public static float Div(int val, int divisor) {return (float)val / (float)divisor;}
public static float Div(long val, long divisor) {return (float)val / (float)divisor;}
public static float cast_(Object obj) {try {return (Float)obj;} catch(Exception exc) {throw Err_.type_mismatch_exc_(exc, float.class, obj);}}
public static float parse_(String raw) {try {return Float.parseFloat(raw);} catch(Exception exc) {throw Err_.parse_type_exc_(exc, float.class, raw);}}
public static String Xto_str(float v) {
int v_int = (int)v;
return v - v_int == 0 ? Int_.Xto_str(v_int) : Float.toString(v);
}
public static float cast_double_(double v) {return (float)v;}
public static float cast_(Object obj) {try {return (Float)obj;} catch(Exception exc) {throw Err_.type_mismatch_exc_(exc, float.class, obj);}}
public static float read_(Object o) {String s = String_.as_(o); return s != null ? Float_.parse_(s) : Float_.cast_(o);}
public static float parse_(String raw) {try {return Float.parseFloat(raw);} catch(Exception exc) {throw Err_.parse_type_exc_(exc, float.class, raw);}}
public static float parseOr_(String raw, float v) {
if (raw == null || raw.length() == 0) return v;
try {return Float.parseFloat(raw);} catch(Exception e) {Err_.Noop(e); return v;}
public static float Div(int val, int divisor) {return (float)val / (float)divisor;}
public static float Div(long val, long divisor) {return (float)val / (float)divisor;}
public static int RoundUp(float val) {
int rv = (int)val;
return (rv == val) ? rv : rv + 1;
}
}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class Int_ implements GfoInvkAble {
public static final String Cls_val_name = "int";
public static final Class<?> Cls_ref_type = Integer.class;

View File

@ -17,11 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
public class Long_ {
public static final Class<?> Cls_ref_type = Long.class;
public static final long MinValue = Long.MIN_VALUE;
public static final long MaxValue = Long.MAX_VALUE;
public static final String Cls_val_name = "long";
public static final long Neg1 = -1;
public static final Class<?> Cls_ref_type = Long.class;
public static final long
MinValue = Long.MIN_VALUE
, MaxValue = Long.MAX_VALUE
;
public static final int Log10Ary_len = 21;
public static long[] Log10Ary = new long[]
{ 1, 10, 100, 1000, 10000
@ -30,6 +31,13 @@ public class Long_ {
, Long_.Pow(10, 15), Long_.Pow(10, 16), Long_.Pow(10, 17), Long_.Pow(10, 18), Long_.Pow(10, 19)
, Long_.MaxValue
};
public static long parse_(String raw) {try {return Long.parseLong(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, long.class, raw);}}
public static long cast_(Object obj) {try {return (Long)obj;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, long.class, obj);}}
public static long coerce_(Object v) {
try {String s = String_.as_(v); return s == null ? Long_.cast_(v) : Long_.parse_(s);}
catch (Exception e) {throw Err_.cast_(e, long.class, v);}
}
public static long Xby_int(int v) {return (long)v;}
public static String Xto_str(long v) {return Long.toString(v);}
public static String Xto_str_PadBgn(long v, int reqdPlaces) {return String_.Pad(Xto_str(v), reqdPlaces, "0", true);} // ex: 1, 3 returns 001
public static long parse_or_(String raw, long or) {
@ -51,12 +59,6 @@ public class Long_ {
if (lhs == rhs) return CompareAble_.Same;
else if (lhs < rhs) return CompareAble_.Less;
else return CompareAble_.More;
}
public static long parse_(String raw) {try {return Long.parseLong(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, long.class, raw);}}
public static long cast_(Object obj) {try {return (Long)obj;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, long.class, obj);}}
public static long coerce_(Object v) {
try {String s = String_.as_(v); return s == null ? Long_.cast_(v) : Long_.parse_(s);}
catch (Exception e) {throw Err_.cast_(e, long.class, v);}
}
public static int FindIdx(long[] ary, long find_val) {
int ary_len = ary.length;
@ -103,9 +105,8 @@ public class Long_ {
public static long Int_merge(int hi, int lo) {return (long)hi << 32 | (lo & 0xFFFFFFFFL);}
public static int Int_split_lo(long v) {return (int)(v);}
public static int Int_split_hi(long v) {return (int)(v >> 32);}
public static long Xby_int(int v) {return (long)v;}
}
/* alternate for Int_merge does not work in java
/* alternate for Int_merge; does not work in java
public static long MergeInts(int lo, int hi) {return (uint)(hi << 32) | (lo & 0xffffffff);}
public static int SplitLo(long v) {return (int)(((ulong)v & 0x00000000ffffffff));}
public static int SplitHi(long v) {return (int)(((ulong)v & 0xffffffff00000000)) >> 32;}

View File

@ -17,6 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import java.lang.*;
import gplx.core.strings.*;
public class String_ implements GfoInvkAble {
public static final Class<?> Cls_ref_type = String.class;
public static final String Cls_val_name = "str" + "ing";

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class EnmMgr {
public String BitRngSpr() {return bitRngSpr;} public EnmMgr BitRngSpr_(String val) {bitRngSpr = val; return this;} private String bitRngSpr = "+";
public String Prefix() {return prefix;} public EnmMgr Prefix_(String val) {prefix = val; return this;} private String prefix;

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.ios.*; /*IoUrlInfo*/
import gplx.core.strings.*; import gplx.ios.*; /*IoUrlInfo*/
public class Io_url implements CompareAble, EqAble, ParseAble, GfoInvkAble { //_20101005 URL:doc/Io_url.txt
public IoUrlInfo Info() {return info;} IoUrlInfo info;
public String Raw() {return raw;} final String raw;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class KeyValList {//20101217
public int Count() {return list.Count();} ListAdp list = ListAdp_.new_();
public void Clear() {list.Clear();}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class KeyVal_ {
public static final KeyVal[] Ary_empty = new KeyVal[0];
public static KeyVal[] Ary(KeyVal... ary) {return ary;}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class TimeSpanAdp implements CompareAble, EqAble {
public long Fracs() {return fracs;} long fracs; public int FracsAsInt() {return (int)fracs;}
public DecimalAdp TotalSecs() {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class TimeSpanAdp_ {
public static final TimeSpanAdp Zero = new TimeSpanAdp(0);
public static final TimeSpanAdp Null = new TimeSpanAdp(-1);

View File

@ -1,51 +0,0 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
public abstract class Criteria_bool_base implements Criteria {
public abstract byte Crt_tid();
public abstract boolean Matches(Object curVal);
public String OpLiteral() {return opLiteral;} private String opLiteral;
public Criteria Lhs() {return lhs;} Criteria lhs;
public Criteria Rhs() {return rhs;} Criteria rhs;
public String XtoStr() {return String_.Concat(lhs.XtoStr(), " ", this.opLiteral, " ", rhs.XtoStr());}
@gplx.Internal protected void ctor_Criteria_base(String opLiteral, Criteria lhs, Criteria rhs) {this.opLiteral = opLiteral; this.lhs = lhs; this.rhs = rhs;}
public static Criteria_bool_base as_(Object obj) {return obj instanceof Criteria_bool_base ? (Criteria_bool_base)obj : null;}
}
class Criteria_and extends Criteria_bool_base {
@Override public byte Crt_tid() {return Criteria_.Tid_not;}
@Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) && this.Rhs().Matches(curVal);}
public Criteria_and(Criteria lhs, Criteria rhs) {this.ctor_Criteria_base("AND", lhs, rhs);}
}
class Criteria_or extends Criteria_bool_base {
@Override public byte Crt_tid() {return Criteria_.Tid_or;}
@Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) || this.Rhs().Matches(curVal);}
public Criteria_or(Criteria lhs, Criteria rhs) {this.ctor_Criteria_base("OR", lhs, rhs);}
}
class Criteria_const implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_const;}
public boolean Matches(Object comp) {return val;} private boolean val;
public String XtoStr() {return String_.Concat(" IS ", Bool_.Xto_str_lower(val));}
public Criteria_const(boolean val) {this.val = val;}
}
class Criteria_not implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_not;}
public boolean Matches(Object obj) {return !criteria.Matches(obj);}
public String XtoStr() {return String_.Concat_any(" NOT ", criteria.XtoStr());}
Criteria criteria;
public Criteria_not(Criteria v) {this.criteria = v;}
}

View File

@ -1,35 +0,0 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.criterias; import gplx.*;
public class Criteria_wrapper implements Criteria {
public byte Crt_tid() {return Criteria_.Tid_wrapper;}
public static Criteria_wrapper as_(Object obj) {return obj instanceof Criteria_wrapper ? (Criteria_wrapper)obj : null;}
public String Name_of_GfoFldCrt() {return fieldName;} private String fieldName;
public Criteria Crt_of_GfoFldCrt() {return crt;} Criteria crt;
public boolean Matches(Object invkObj) {
GfoInvkAble invk = (GfoInvkAble)invkObj;
Object comp = GfoInvkAble_.InvkCmd(invk, fieldName);
return crt.Matches(comp);
}
public String XtoStr() {return String_.Concat(fieldName, " ", crt.XtoStr());}
public static Criteria_wrapper new_(String fieldName, Criteria criteria) {
Criteria_wrapper rv = new Criteria_wrapper();
rv.fieldName = fieldName; rv.crt = criteria;
return rv;
}
}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*;
public class HashAdp_ {
public static HashAdp new_() {return new HashAdp_obj();}
public static HashAdp new_bry_() {return new HashAdp_bry();}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*;
import gplx.intl.*;
public class Hash_adp_bry extends gplx.lists.HashAdp_base implements HashAdp {
private final Hash_adp_bry_itm_base proto, key_ref;

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.lists.*;
import gplx.core.strings.*; import gplx.lists.*;
public abstract class ListAdp_base implements ListAdp, GfoInvkAble {
public Object Xto_ary_and_clear(Class<?> memberType) {Object rv = Xto_ary(memberType); this.Clear(); return rv;}
public Object Xto_ary(Class<?> memberType) {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*;
public class OrderedHash_ {
public static OrderedHash new_() {return new OrderedHash_base();}
public static OrderedHash new_bry_() {return new OrderedHash_bry();}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
import gplx.lists.*; /*EnumerAble,ComparerAble*/
public class OrderedHash_base extends HashAdp_base implements OrderedHash, GfoInvkAble {
@Override protected void Add_base(Object key, Object val) {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.intl; import gplx.*;
import gplx.core.primitives.*;
public class Utf16_ {
public static int Surrogate_merge(int hi, int lo) { // REF: http://perldoc.perl.org/Encode/Unicode.html
return 0x10000 + (hi - 0xD800) * 0x400 + (lo - 0xDC00);

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.intl; import gplx.*;
import org.junit.*;
import org.junit.*; import gplx.core.primitives.*;
public class Utf16__tst {
private Utf16__fxt fxt = new Utf16__fxt();
@Test public void Encode_decode() {

View File

@ -47,7 +47,7 @@ public class RegxAdp {
int idx = bgn;
ListAdp rv = ListAdp_.new_();
int len = String_.Len(text);
while (idx < len) {
while (idx <= len) { // NOTE: must be <= not < else "a?" will return null instead of ""; PAGE:en.d:; DATE:2015-01-30
RegxMatch match = this.Match(text, idx);
if (match.Rslt_none()) break;
rv.Add(match);

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.texts; import gplx.*;
import gplx.core.strings.*;
public class RegxBldr {
public static String Includes(String characters) {return String_.Concat_any(RegxBldr.Tkn_CharSetBegin, characters, RegxBldr.Tkn_CharSetEnd);}
public static String Excludes(String characters) {return String_.Concat_any(RegxBldr.Tkn_CharSetBegin, RegxBldr.Tkn_Not, characters, RegxBldr.Tkn_CharSetEnd);}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.texts; import gplx.*;
import gplx.core.strings.*;
public class RegxPatn_cls_ioMatch_ {
public static final String Wildcard = "*";
public static final String OrDelimiter = "|";

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.texts; import gplx.*;
import gplx.core.strings.*;
public class RegxPatn_cls_like_ {
public static RegxPatn_cls_like parse_(String regxRaw, char escape) {
String regx = Compile(regxRaw, escape);

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.texts; import gplx.*;
import gplx.core.strings.*;
public class StringTableBldr {
public void ClearRows() {rows.Clear();}
public StringTableCol Col_(int i) {return FetchAtOrNew(i);}

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.ios.*; /*IoItmFil, IoItmDir..*/
import gplx.core.primitives.*; import gplx.ios.*; /*IoItmFil, IoItmDir..*/
public class Io_mgr { // exists primarily to gather all cmds under gplx namespace; otherwise need to use gplx.ios whenever copying/deleting file
public boolean Exists(Io_url url) {return url.Type_dir() ? ExistsDir(url) : ExistsFil(url);}
public boolean ExistsFil(Io_url url) {return IoEnginePool._.Fetch(url.Info().EngineKey()).ExistsFil_api(url);}

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.criterias.*;
import gplx.core.criterias.*;
public interface IoEngine {
String Key();
boolean ExistsFil_api(Io_url url);

View File

@ -27,7 +27,7 @@ import java.util.Date;
import javax.print.FlavorException;
import javax.tools.JavaCompiler;
import gplx.criterias.*;
import gplx.core.criterias.*;
public class IoEngine_system extends IoEngine_base {
@Override public String Key() {return IoEngine_.SysKey;}
@Override public void DeleteDirDeep(IoEngine_xrg_deleteDir args) {utl.DeleteDirDeep(this, args.Url(), args);}

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.criterias.*;
import gplx.core.criterias.*;
public class IoEngine_xrg_deleteDir {
public Io_url Url() {return url;} public IoEngine_xrg_deleteDir Url_(Io_url val) {url = val; return this;} Io_url url;
public boolean Recur() {return recur;} public IoEngine_xrg_deleteDir Recur_() {return Recur_(true);} public IoEngine_xrg_deleteDir Recur_(boolean v) {recur = v; return this;} private boolean recur = false;

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.criterias.*;
import gplx.core.criterias.*;
public class IoEngine_xrg_queryDir {
public Io_url Url() {return url;} public IoEngine_xrg_queryDir Url_(Io_url val) {url = val; return this;} Io_url url;
public boolean Recur() {return recur;} public IoEngine_xrg_queryDir Recur_() {return Recur_(true);} public IoEngine_xrg_queryDir Recur_(boolean val) {recur = val; return this;} private boolean recur = false;
@ -33,13 +33,13 @@ public class IoEngine_xrg_queryDir {
public ConsoleDlg UsrDlg() {return usrDlg;} public IoEngine_xrg_queryDir UsrDlg_(ConsoleDlg val) {usrDlg = val; return this;} ConsoleDlg usrDlg = ConsoleDlg_.Null;
public IoEngine_xrg_queryDir FilPath_(String val) {
Criteria_ioMatch crt = Criteria_ioMatch.parse_(true, val, url.Info().CaseSensitive());
filCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, crt);
filCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, crt);
return this;
}
public IoItmDir ExecAsDir() {return IoEnginePool._.Fetch(url.Info().EngineKey()).QueryDirDeep(this);}
public Io_url[] ExecAsUrlAry() {return ExecAsItmHash().XtoIoUrlAry();}
public IoItmHash ExecAsItmHash() {
Criteria crt = dirInclude ? Criteria_.All : Criteria_wrapper.new_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmFil.Type_Fil));
Criteria crt = dirInclude ? Criteria_.All : Criteria_fld.new_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmFil.Type_Fil));
IoItmHash list = ExecAsDir().XtoIoItmList(crt);
list.SortBy(IoItmBase_comparer_nest._);
return list;
@ -47,9 +47,9 @@ public class IoEngine_xrg_queryDir {
public static IoEngine_xrg_queryDir new_(Io_url url) {
IoEngine_xrg_queryDir rv = new IoEngine_xrg_queryDir();
rv.url = url;
rv.filCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, Criteria_.All);
rv.dirCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, Criteria_.All);
rv.subDirScanCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, Criteria_.All);
rv.filCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, Criteria_.All);
rv.dirCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, Criteria_.All);
rv.subDirScanCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, Criteria_.All);
return rv;
} IoEngine_xrg_queryDir() {}
}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.core.strings.*;
public class IoEngine_xrg_recycleFil extends IoEngine_xrg_fil_affects1_base {
public IoEngine_xrg_recycleFil MissingFails_off() {return MissingFails_(false);} public IoEngine_xrg_recycleFil MissingFails_(boolean v) {MissingFails_set(v); return this;}

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.criterias.*;
import gplx.core.criterias.*;
public class IoEngine_xrg_xferDir {
public boolean Type_move() {return move;} public boolean Type_copy() {return !move;} private boolean move = false;
public Io_url Src() {return src;} public IoEngine_xrg_xferDir Src_(Io_url val) {src = val; return this;} Io_url src;

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.criterias.*;
import gplx.core.criterias.*;
public class IoItmDir extends IoItm_base {
public boolean Exists() {return exists;} public void Exists_set(boolean v) {exists = v;} private boolean exists = true;
@Override public int TypeId() {return Type_Dir;} @Override public boolean Type_dir() {return true;} @Override public boolean Type_fil() {return false;} public static final int Type_Dir = 1;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.core.strings.*;
public class IoRecycleBin {
public void Send(Io_url url) {Send_xrg(url).Exec();}
public IoEngine_xrg_recycleFil Send_xrg(Io_url url) {return IoEngine_xrg_recycleFil.gplx_(url);}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.ios; import gplx.*;
import gplx.core.strings.*;
public class IoUrlTypeRegy implements GfoInvkAble {
public String[] FetchAryOr(String key, String... or) {
IoUrlTypeGrp itm = (IoUrlTypeGrp)hash.Fetch(key);

View File

@ -24,6 +24,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import javax.management.RuntimeErrorException;
import gplx.core.strings.*;
public class ProcessAdp implements GfoInvkAble, RlsAble {
public boolean Enabled() {return enabled;} public ProcessAdp Enabled_(boolean v) {enabled = v; return this;} private boolean enabled = true;
public byte Exe_exists() {return exe_exists;} public ProcessAdp Exe_exists_(byte v) {exe_exists = v; return this;} private byte exe_exists = Bool_.__byte;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class GfoFldList_ {
public static final GfoFldList Null = new GfoFldList_null();
public static GfoFldList new_() {return new GfoFldList_base();}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class GfoNde implements GfoInvkAble {
public GfoFldList Flds() {return flds;} GfoFldList flds;
public HashAdp EnvVars() {return envVars;} HashAdp envVars = HashAdp_.new_();

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*;
public class GfoInvkAble_ {
public static GfoInvkAble as_(Object obj) {return obj instanceof GfoInvkAble ? (GfoInvkAble)obj : null;}
public static GfoInvkAble cast_(Object obj) {try {return (GfoInvkAble)obj;} catch(Exception exc) {throw Err_.type_mismatch_exc_(exc, GfoInvkAble.class, obj);}}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*;
public class GfoInvkCmdMgr {
public GfoInvkCmdMgr Add_cmd_many(GfoInvkAble invk, String... keys) {
for (String key : keys)

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.primitives.*; import gplx.core.strings.*;
public class GfoMsg_ {
public static GfoMsg as_(Object obj) {return obj instanceof GfoMsg ? (GfoMsg)obj : null;}
public static final GfoMsg Null = new GfoMsg_base().ctor_("<<NULL MSG>>", false);

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public interface DataRdr extends SrlMgr, RlsAble {
String NameOfNode(); String XtoStr();
Io_url Uri(); void Uri_set(Io_url s);

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class DataRdr_ {
public static final DataRdr Null = new DataRdr_null();
public static DataRdr as_(Object obj) {return obj instanceof DataRdr ? (DataRdr)obj : null;}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.stores; import gplx.*;
import gplx.core.strings.*;
public abstract class DataRdr_base implements SrlMgr {
public boolean Parse() {return parse;} public void Parse_set(boolean v) {parse = v;} private boolean parse;
public Io_url Uri() {return uri;} public void Uri_set(Io_url s) {uri = s;} Io_url uri = Io_url_.Null;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.stores.xmls; import gplx.*; import gplx.stores.*;
import gplx.core.strings.*;
public class XmlDataWtr_ {
public static DataWtr new_() {return XmlDataWtr.new_();}
}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.stores.dsvs; import gplx.*; import gplx.stores.*;
import gplx.core.strings.*;
import gplx.texts.*; /*CharStream*/
public class DsvDataRdr_ {
public static DataRdr dsv_(String text) {return DsvParser.dsv_().ParseAsRdr(text);}

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.stores.dsvs; import gplx.*; import gplx.stores.*;
import org.junit.*;
import org.junit.*; import gplx.core.strings.*;
public class DsvDataRdr_csv_dat_tst {
@Before public void setup() {
fx.Parser_(DsvParser.csv_(false, GfoFldList_.Null));

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.stores.dsvs; import gplx.*; import gplx.stores.*;
import gplx.core.strings.*;
public class DsvDataWtr extends DataWtr_base implements DataWtr {
public void InitWtr(String key, Object val) {
if (key == DsvStoreLayout.Key_const) layout = (DsvStoreLayout)val;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
class GfsCoreHelp implements GfoInvkAble {
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
String path = m.ReadStrOr("path", "");

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public interface Gfo_usr_dlg_ui {
void Clear();
String_ring Prog_msgs();

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class Gfo_usr_dlg_ui_ {
public static final Gfo_usr_dlg_ui Null = new Gfo_usr_dlg_ui_null();
public static final Gfo_usr_dlg_ui Console = new Gfo_usr_dlg_ui_console();

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class Gfo_usr_dlg_ui_test implements Gfo_usr_dlg_ui {
public String[] Xto_str_ary() {return msgs.XtoStrAry();}
public ListAdp Warns() {return warns;}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class UsrMsg {
public int VisibilityDuration() {return visibilityDuration;} public UsrMsg VisibilityDuration_(int v) {visibilityDuration = v; return this;} int visibilityDuration = 3000;
public String Hdr() {return hdr;} public UsrMsg Hdr_(String val) {hdr = val; return this;} private String hdr;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class PerfLogMgr_fxt {
public void Init(Io_url url, String text) {
this.url = url;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class Tfds { // URL:doc/gplx.tfds/Tfds.txt
public static boolean SkipDb = false;
public static void Eq(Object expd, Object actl) {Eq_wkr(expd, actl, true, EmptyStr);}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
public class HierStrBldr {
public String Root() {return root;} public HierStrBldr Root_(String v) {root = v; return this;} private String root;
public Io_url RootAsIoUrl() {return Io_url_.new_dir_(root);}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xmls; import gplx.*;
import gplx.core.primitives.*;
public class Xpath_ {
public static XmlNdeList SelectAll(XmlNde owner, String xpath) {return Select(owner, xpath, Xpath_Args.all_());}
public static XmlNde SelectFirst(XmlNde owner, String xpath) {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx;
import gplx.core.strings.*;
import gplx.lists.*;
public class TfdsTstr_fxt {
public TfdsTstr_fxt Eq_str(Object expd, Object actl, String name) {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
import gplx.texts.*; /*CharStream*/
public class GfmlLxr_ {
public static GfmlLxr general_(String key, GfmlTkn protoTkn) {return GfmlLxr_general.new_(key, protoTkn);}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
public interface GfmlTkn extends GfmlObj {
String TknType();
String Raw();

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
public class GfmlFld {
public String Name() {return name;} private String name;
public boolean Name_isKey() {return name_isKey;} private boolean name_isKey;

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
public class GfmlDocPos implements CompareAble {
public String Path() {if (path == null) MakePath(); return path;} private String path;
public int compareTo(Object obj) {

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
public class GfmlDocWtr_ {
public String Xto_str_and_clear() {return sb.Xto_str_and_clear();}
public void BuildAttrib(GfmlAtr atr) {Build(atr);}

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
class GfmlStringHighlighter {
public String Raw() {return raw;} public GfmlStringHighlighter Raw_(String v) {raw = v; return this;} private String raw;
public int ExcerptLen() {return excerptLen;} public GfmlStringHighlighter ExcerptLen_(int v) {excerptLen = v; return this;} int excerptLen = 40;

View File

@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.criterias.*;
import gplx.core.strings.*; import gplx.core.criterias.*;
public class SqlDoc {
public static GfmlDoc XtoDoc(String raw) {
GfmlBldr bldr = GfmlBldr_.new_();

View File

@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.gfml; import gplx.*;
import gplx.core.strings.*;
interface GfmlItm_mok {
int ObjType();
}

Some files were not shown because too many files have changed in this diff Show More