Skip to content

Commit e5707ac

Browse files
codegen(meos): generate tier-aware MEOS facade for the full JMEOS 1.4 surface
Add a generated, tier-aware Java facade over the MEOS public API, organized as one Java class per MEOS object-model class plus one per public-MEOS-header for free functions: - 50 `MeosOps<Class>` classes (751 methods): one per MEOS object-model class (TFloat, TInt, TBool, TText, TGeomPoint, TGeogPoint, TCbuffer, TNpoint, TPose, TRGeometry, TBox, STBox, Set, Span, SpanSet, …). - 6 `MeosOpsFree<Header>` classes (1,346 methods): one per public MEOS header for functions not assigned to any object-model class (MeosOpsFreeCore, MeosOpsFreeGeo, MeosOpsFreeCbuffer, MeosOpsFreeNpoint, MeosOpsFreePose, MeosOpsFreeRgeo). - 1 shared `MeosOpsRuntime` (single `MEOS_AVAILABLE` static-init across all 56 facades). Each emitted method forwards to `functions.GeneratedFunctions.<name>(...)` after probing the shared `MeosOpsRuntime.MEOS_AVAILABLE` flag. Each method carries a Javadoc tier marker (stateless / bounded-state / windowed / cross-stream / io-meta) so consumers know the per-method wiring shape. Total emit: 2,097 of JMEOS PR #19's 2,699-method surface (77.7%); remainder is the JMEOS-deliberately-omitted type-catalog helpers plus the streaming-relevance-baseline ambiguous (59) and sequence-only (14) buckets, both surfaced separately for design decisions before emit. Two generators under flink-processor/tools/codegen/: - codegen-oo.py: reads JMEOS jar signatures via javap-p + streaming-relevance baseline + MEOS object model → emits per-OO-class facades. - codegen-free.py: same shape, but for functions not in the OO model → emits per-header facades. Both are ~250 LOC, deterministic, audit-by-regeneration. Manifests record provenance (JMEOS method total, baseline target count, emit count, per-tier breakdown, per-class/per-header method count, sample of functions absent from JMEOS). Coexists with the existing berlinmod.MEOSBridge hand-written BerlinMOD-scoped bridge (high-level, query-shaped); the generated MeosOps* facades expose the raw MEOS surface tier-by-tier (low-level, catalog-shaped). Both share the same MEOS_AVAILABLE discipline and `functions.GeneratedFunctions` delegation. Stacks on feat/jmeos-bridge-swap; additive-only; touches no existing file. Locally compile-verified against the union of JMEOS PR #19's jmeos-core + PR #18's utils.spatial (the latter needed by MEOSBridge, separately tracked).
1 parent 6676bbb commit e5707ac

62 files changed

Lines changed: 29786 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
package org.mobilitydb.flink.meos;
2+
3+
/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand.
4+
* MEOS object-model class: BigintSet
5+
* Methods emitted: 8 (bounded-state=5 · io-meta=2 · stateless=1)
6+
* Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4.
7+
*/
8+
9+
import functions.GeneratedFunctions;
10+
import jnr.ffi.Pointer;
11+
12+
public final class MeosOpsBigintSet {
13+
14+
public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE;
15+
16+
private MeosOpsBigintSet() { /* utility */ }
17+
18+
/**
19+
* MEOS {@code bigintset_make} — tier <b>stateless</b>.
20+
* <p>Pure per-event; safe in any Flink scalar position.</p>
21+
* <p>Object-model role: {@code constructor}.</p>
22+
* <p>Classification: constructor of instant/scalar</p>
23+
*/
24+
public static Pointer bigintset_make(Pointer arg0, int arg1) {
25+
if (!MEOS_AVAILABLE) {
26+
throw new UnsupportedOperationException(
27+
"bigintset_make requires libmeos — set -Dmobilityflink.meos.enabled=true");
28+
}
29+
return GeneratedFunctions.bigintset_make(arg0, arg1);
30+
}
31+
32+
/**
33+
* MEOS {@code bigintset_end_value} — tier <b>bounded-state</b>.
34+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
35+
* <p>Object-model role: {@code accessor}.</p>
36+
* <p>Classification: role=accessor</p>
37+
*/
38+
public static int bigintset_end_value(Pointer arg0) {
39+
if (!MEOS_AVAILABLE) {
40+
throw new UnsupportedOperationException(
41+
"bigintset_end_value requires libmeos — set -Dmobilityflink.meos.enabled=true");
42+
}
43+
return GeneratedFunctions.bigintset_end_value(arg0);
44+
}
45+
46+
/**
47+
* MEOS {@code bigintset_shift_scale} — tier <b>bounded-state</b>.
48+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
49+
* <p>Object-model role: {@code accessor}.</p>
50+
* <p>Classification: role=accessor</p>
51+
*/
52+
public static Pointer bigintset_shift_scale(Pointer arg0, int arg1, int arg2, int arg3, int arg4) {
53+
if (!MEOS_AVAILABLE) {
54+
throw new UnsupportedOperationException(
55+
"bigintset_shift_scale requires libmeos — set -Dmobilityflink.meos.enabled=true");
56+
}
57+
return GeneratedFunctions.bigintset_shift_scale(arg0, arg1, arg2, arg3, arg4);
58+
}
59+
60+
/**
61+
* MEOS {@code bigintset_start_value} — tier <b>bounded-state</b>.
62+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
63+
* <p>Object-model role: {@code accessor}.</p>
64+
* <p>Classification: role=accessor</p>
65+
*/
66+
public static int bigintset_start_value(Pointer arg0) {
67+
if (!MEOS_AVAILABLE) {
68+
throw new UnsupportedOperationException(
69+
"bigintset_start_value requires libmeos — set -Dmobilityflink.meos.enabled=true");
70+
}
71+
return GeneratedFunctions.bigintset_start_value(arg0);
72+
}
73+
74+
/**
75+
* MEOS {@code bigintset_value_n} — tier <b>bounded-state</b>.
76+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
77+
* <p>Object-model role: {@code accessor}.</p>
78+
* <p>Classification: role=accessor</p>
79+
*/
80+
public static int bigintset_value_n(Pointer arg0, int arg1, Pointer arg2) {
81+
if (!MEOS_AVAILABLE) {
82+
throw new UnsupportedOperationException(
83+
"bigintset_value_n requires libmeos — set -Dmobilityflink.meos.enabled=true");
84+
}
85+
return GeneratedFunctions.bigintset_value_n(arg0, arg1, arg2);
86+
}
87+
88+
/**
89+
* MEOS {@code bigintset_values} — tier <b>bounded-state</b>.
90+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
91+
* <p>Object-model role: {@code accessor}.</p>
92+
* <p>Classification: role=accessor</p>
93+
*/
94+
public static Pointer bigintset_values(Pointer arg0) {
95+
if (!MEOS_AVAILABLE) {
96+
throw new UnsupportedOperationException(
97+
"bigintset_values requires libmeos — set -Dmobilityflink.meos.enabled=true");
98+
}
99+
return GeneratedFunctions.bigintset_values(arg0);
100+
}
101+
102+
/**
103+
* MEOS {@code bigintset_in} — tier <b>io-meta</b>.
104+
* <p>I/O / catalog / lifecycle helper.</p>
105+
* <p>Object-model role: {@code constructor}.</p>
106+
* <p>Classification: IO/serialization</p>
107+
*/
108+
public static Pointer bigintset_in(String arg0) {
109+
if (!MEOS_AVAILABLE) {
110+
throw new UnsupportedOperationException(
111+
"bigintset_in requires libmeos — set -Dmobilityflink.meos.enabled=true");
112+
}
113+
return GeneratedFunctions.bigintset_in(arg0);
114+
}
115+
116+
/**
117+
* MEOS {@code bigintset_out} — tier <b>io-meta</b>.
118+
* <p>I/O / catalog / lifecycle helper.</p>
119+
* <p>Object-model role: {@code output}.</p>
120+
* <p>Classification: IO/serialization</p>
121+
*/
122+
public static String bigintset_out(Pointer arg0) {
123+
if (!MEOS_AVAILABLE) {
124+
throw new UnsupportedOperationException(
125+
"bigintset_out requires libmeos — set -Dmobilityflink.meos.enabled=true");
126+
}
127+
return GeneratedFunctions.bigintset_out(arg0);
128+
}
129+
130+
}
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
package org.mobilitydb.flink.meos;
2+
3+
/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand.
4+
* MEOS object-model class: BigintSpan
5+
* Methods emitted: 9 (bounded-state=6 · io-meta=2 · stateless=1)
6+
* Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4.
7+
*/
8+
9+
import functions.GeneratedFunctions;
10+
import jnr.ffi.Pointer;
11+
12+
public final class MeosOpsBigintSpan {
13+
14+
public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE;
15+
16+
private MeosOpsBigintSpan() { /* utility */ }
17+
18+
/**
19+
* MEOS {@code bigintspan_make} — tier <b>stateless</b>.
20+
* <p>Pure per-event; safe in any Flink scalar position.</p>
21+
* <p>Object-model role: {@code constructor}.</p>
22+
* <p>Classification: constructor of instant/scalar</p>
23+
*/
24+
public static Pointer bigintspan_make(int arg0, int arg1, int arg2, int arg3) {
25+
if (!MEOS_AVAILABLE) {
26+
throw new UnsupportedOperationException(
27+
"bigintspan_make requires libmeos — set -Dmobilityflink.meos.enabled=true");
28+
}
29+
return GeneratedFunctions.bigintspan_make(arg0, arg1, arg2, arg3);
30+
}
31+
32+
/**
33+
* MEOS {@code bigintspan_bins} — tier <b>bounded-state</b>.
34+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
35+
* <p>Object-model role: {@code accessor}.</p>
36+
* <p>Classification: role=accessor</p>
37+
*/
38+
public static Pointer bigintspan_bins(Pointer arg0, int arg1, int arg2, Pointer arg3) {
39+
if (!MEOS_AVAILABLE) {
40+
throw new UnsupportedOperationException(
41+
"bigintspan_bins requires libmeos — set -Dmobilityflink.meos.enabled=true");
42+
}
43+
return GeneratedFunctions.bigintspan_bins(arg0, arg1, arg2, arg3);
44+
}
45+
46+
/**
47+
* MEOS {@code bigintspan_expand} — tier <b>bounded-state</b>.
48+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
49+
* <p>Object-model role: {@code accessor}.</p>
50+
* <p>Classification: role=accessor</p>
51+
*/
52+
public static Pointer bigintspan_expand(Pointer arg0, int arg1) {
53+
if (!MEOS_AVAILABLE) {
54+
throw new UnsupportedOperationException(
55+
"bigintspan_expand requires libmeos — set -Dmobilityflink.meos.enabled=true");
56+
}
57+
return GeneratedFunctions.bigintspan_expand(arg0, arg1);
58+
}
59+
60+
/**
61+
* MEOS {@code bigintspan_lower} — tier <b>bounded-state</b>.
62+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
63+
* <p>Object-model role: {@code accessor}.</p>
64+
* <p>Classification: role=accessor</p>
65+
*/
66+
public static int bigintspan_lower(Pointer arg0) {
67+
if (!MEOS_AVAILABLE) {
68+
throw new UnsupportedOperationException(
69+
"bigintspan_lower requires libmeos — set -Dmobilityflink.meos.enabled=true");
70+
}
71+
return GeneratedFunctions.bigintspan_lower(arg0);
72+
}
73+
74+
/**
75+
* MEOS {@code bigintspan_shift_scale} — tier <b>bounded-state</b>.
76+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
77+
* <p>Object-model role: {@code accessor}.</p>
78+
* <p>Classification: role=accessor</p>
79+
*/
80+
public static Pointer bigintspan_shift_scale(Pointer arg0, int arg1, int arg2, int arg3, int arg4) {
81+
if (!MEOS_AVAILABLE) {
82+
throw new UnsupportedOperationException(
83+
"bigintspan_shift_scale requires libmeos — set -Dmobilityflink.meos.enabled=true");
84+
}
85+
return GeneratedFunctions.bigintspan_shift_scale(arg0, arg1, arg2, arg3, arg4);
86+
}
87+
88+
/**
89+
* MEOS {@code bigintspan_upper} — tier <b>bounded-state</b>.
90+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
91+
* <p>Object-model role: {@code accessor}.</p>
92+
* <p>Classification: role=accessor</p>
93+
*/
94+
public static int bigintspan_upper(Pointer arg0) {
95+
if (!MEOS_AVAILABLE) {
96+
throw new UnsupportedOperationException(
97+
"bigintspan_upper requires libmeos — set -Dmobilityflink.meos.enabled=true");
98+
}
99+
return GeneratedFunctions.bigintspan_upper(arg0);
100+
}
101+
102+
/**
103+
* MEOS {@code bigintspan_width} — tier <b>bounded-state</b>.
104+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
105+
* <p>Object-model role: {@code accessor}.</p>
106+
* <p>Classification: role=accessor</p>
107+
*/
108+
public static int bigintspan_width(Pointer arg0) {
109+
if (!MEOS_AVAILABLE) {
110+
throw new UnsupportedOperationException(
111+
"bigintspan_width requires libmeos — set -Dmobilityflink.meos.enabled=true");
112+
}
113+
return GeneratedFunctions.bigintspan_width(arg0);
114+
}
115+
116+
/**
117+
* MEOS {@code bigintspan_in} — tier <b>io-meta</b>.
118+
* <p>I/O / catalog / lifecycle helper.</p>
119+
* <p>Object-model role: {@code constructor}.</p>
120+
* <p>Classification: IO/serialization</p>
121+
*/
122+
public static Pointer bigintspan_in(String arg0) {
123+
if (!MEOS_AVAILABLE) {
124+
throw new UnsupportedOperationException(
125+
"bigintspan_in requires libmeos — set -Dmobilityflink.meos.enabled=true");
126+
}
127+
return GeneratedFunctions.bigintspan_in(arg0);
128+
}
129+
130+
/**
131+
* MEOS {@code bigintspan_out} — tier <b>io-meta</b>.
132+
* <p>I/O / catalog / lifecycle helper.</p>
133+
* <p>Object-model role: {@code output}.</p>
134+
* <p>Classification: IO/serialization</p>
135+
*/
136+
public static String bigintspan_out(Pointer arg0) {
137+
if (!MEOS_AVAILABLE) {
138+
throw new UnsupportedOperationException(
139+
"bigintspan_out requires libmeos — set -Dmobilityflink.meos.enabled=true");
140+
}
141+
return GeneratedFunctions.bigintspan_out(arg0);
142+
}
143+
144+
}
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package org.mobilitydb.flink.meos;
2+
3+
/* AUTO-GENERATED by codegen_flink_v3.py — do not edit by hand.
4+
* MEOS object-model class: BigintSpanSet
5+
* Methods emitted: 7 (bounded-state=5 · io-meta=2)
6+
* Source: JMEOS jar (PR #15 / regen-against-meos-1.4) ∩ streaming-relevance baseline v4.
7+
*/
8+
9+
import functions.GeneratedFunctions;
10+
import jnr.ffi.Pointer;
11+
12+
public final class MeosOpsBigintSpanSet {
13+
14+
public static final boolean MEOS_AVAILABLE = MeosOpsRuntime.MEOS_AVAILABLE;
15+
16+
private MeosOpsBigintSpanSet() { /* utility */ }
17+
18+
/**
19+
* MEOS {@code bigintspanset_bins} — tier <b>bounded-state</b>.
20+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
21+
* <p>Object-model role: {@code accessor}.</p>
22+
* <p>Classification: role=accessor</p>
23+
*/
24+
public static Pointer bigintspanset_bins(Pointer arg0, int arg1, int arg2, Pointer arg3) {
25+
if (!MEOS_AVAILABLE) {
26+
throw new UnsupportedOperationException(
27+
"bigintspanset_bins requires libmeos — set -Dmobilityflink.meos.enabled=true");
28+
}
29+
return GeneratedFunctions.bigintspanset_bins(arg0, arg1, arg2, arg3);
30+
}
31+
32+
/**
33+
* MEOS {@code bigintspanset_lower} — tier <b>bounded-state</b>.
34+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
35+
* <p>Object-model role: {@code accessor}.</p>
36+
* <p>Classification: role=accessor</p>
37+
*/
38+
public static int bigintspanset_lower(Pointer arg0) {
39+
if (!MEOS_AVAILABLE) {
40+
throw new UnsupportedOperationException(
41+
"bigintspanset_lower requires libmeos — set -Dmobilityflink.meos.enabled=true");
42+
}
43+
return GeneratedFunctions.bigintspanset_lower(arg0);
44+
}
45+
46+
/**
47+
* MEOS {@code bigintspanset_shift_scale} — tier <b>bounded-state</b>.
48+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
49+
* <p>Object-model role: {@code accessor}.</p>
50+
* <p>Classification: role=accessor</p>
51+
*/
52+
public static Pointer bigintspanset_shift_scale(Pointer arg0, int arg1, int arg2, int arg3, int arg4) {
53+
if (!MEOS_AVAILABLE) {
54+
throw new UnsupportedOperationException(
55+
"bigintspanset_shift_scale requires libmeos — set -Dmobilityflink.meos.enabled=true");
56+
}
57+
return GeneratedFunctions.bigintspanset_shift_scale(arg0, arg1, arg2, arg3, arg4);
58+
}
59+
60+
/**
61+
* MEOS {@code bigintspanset_upper} — tier <b>bounded-state</b>.
62+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
63+
* <p>Object-model role: {@code accessor}.</p>
64+
* <p>Classification: role=accessor</p>
65+
*/
66+
public static int bigintspanset_upper(Pointer arg0) {
67+
if (!MEOS_AVAILABLE) {
68+
throw new UnsupportedOperationException(
69+
"bigintspanset_upper requires libmeos — set -Dmobilityflink.meos.enabled=true");
70+
}
71+
return GeneratedFunctions.bigintspanset_upper(arg0);
72+
}
73+
74+
/**
75+
* MEOS {@code bigintspanset_width} — tier <b>bounded-state</b>.
76+
* <p>Per-event with bounded per-key state (MEOS handle).</p>
77+
* <p>Object-model role: {@code accessor}.</p>
78+
* <p>Classification: role=accessor</p>
79+
*/
80+
public static int bigintspanset_width(Pointer arg0, int arg1) {
81+
if (!MEOS_AVAILABLE) {
82+
throw new UnsupportedOperationException(
83+
"bigintspanset_width requires libmeos — set -Dmobilityflink.meos.enabled=true");
84+
}
85+
return GeneratedFunctions.bigintspanset_width(arg0, arg1);
86+
}
87+
88+
/**
89+
* MEOS {@code bigintspanset_in} — tier <b>io-meta</b>.
90+
* <p>I/O / catalog / lifecycle helper.</p>
91+
* <p>Object-model role: {@code constructor}.</p>
92+
* <p>Classification: IO/serialization</p>
93+
*/
94+
public static Pointer bigintspanset_in(String arg0) {
95+
if (!MEOS_AVAILABLE) {
96+
throw new UnsupportedOperationException(
97+
"bigintspanset_in requires libmeos — set -Dmobilityflink.meos.enabled=true");
98+
}
99+
return GeneratedFunctions.bigintspanset_in(arg0);
100+
}
101+
102+
/**
103+
* MEOS {@code bigintspanset_out} — tier <b>io-meta</b>.
104+
* <p>I/O / catalog / lifecycle helper.</p>
105+
* <p>Object-model role: {@code output}.</p>
106+
* <p>Classification: IO/serialization</p>
107+
*/
108+
public static String bigintspanset_out(Pointer arg0) {
109+
if (!MEOS_AVAILABLE) {
110+
throw new UnsupportedOperationException(
111+
"bigintspanset_out requires libmeos — set -Dmobilityflink.meos.enabled=true");
112+
}
113+
return GeneratedFunctions.bigintspanset_out(arg0);
114+
}
115+
116+
}

0 commit comments

Comments
 (0)