Skip to content

Commit 4c425fd

Browse files
committed
Nima - alternative maven-compiler-plugin
1 parent f834b27 commit 4c425fd

File tree

2 files changed

+39
-16
lines changed

2 files changed

+39
-16
lines changed

http/index.html

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,20 +1368,15 @@ <h2 id="default">@Default</h3>
13681368
</div>
13691369
<h2 id="filter">@Filter</h2><hr/>
13701370
<p>
1371-
Annotate methods with <code>@Filter</code> for HTTP filter web routes. Filters allow you to intercept a request before it hits a handler endpoint.
1371+
Annotate methods with <code>@Filter</code> for HTTP filter web routes. Filter web routes behave similarly to void <code>@Get</code> methods (They can use header/query/cookie parameters with type conversion)
13721372
</p>
13731373
<h4>Jex</h4>
13741374
<p>
13751375
Jex filters must have a <code>FilterChain</code> parameter, and optionally can add <code>Context</code>.
13761376
</p>
13771377
<div class="syntax java"><div class="highlight"><pre><span></span><span class="nd">@Filter</span>
13781378
<span class="kt">void</span> <span class="nf">filter</span><span class="o">(</span><span class="n">FilterChain</span> <span class="n">chain</span><span class="o">,</span> <span class="n">Context</span> <span class="n">ctx</span><span class="o">)</span> <span class="o">{</span>
1379-
<span class="n">System</span><span class="o">.</span><span class="na field">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;before request&quot;</span><span class="o">);</span>
1380-
<span class="c1">// proceed to the next filter in the chain, or the endpoint handler if at the end of</span>
1381-
<span class="c1">// the chain</span>
1382-
<span class="n">chain</span><span class="o">.</span><span class="na">proceed</span><span class="o">();</span>
1383-
<span class="c1">// do something after the request executes</span>
1384-
<span class="n">System</span><span class="o">.</span><span class="na field">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;after request&quot;</span><span class="o">);</span>
1379+
<span class="c1">//... filter logic</span>
13851380
<span class="o">}</span>
13861381
</pre></div>
13871382
</div>
@@ -1391,24 +1386,18 @@ <h4>Helidon</h4>
13911386
</p>
13921387
<div class="syntax java"><div class="highlight"><pre><span></span><span class="nd">@Filter</span>
13931388
<span class="kt">void</span> <span class="nf">filter</span><span class="o">(</span><span class="n">FilterChain</span> <span class="n">chain</span><span class="o">,</span> <span class="n">RoutingRequest</span> <span class="n">req</span><span class="o">,</span> <span class="n">RoutingResponse</span> <span class="n">res</span><span class="o">)</span> <span class="o">{</span>
1394-
<span class="n">System</span><span class="o">.</span><span class="na field">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;before request&quot;</span><span class="o">);</span>
1395-
<span class="c1">// proceed to the next filter in the chain, or the endpoint handler if at the end of</span>
1396-
<span class="c1">// the chain</span>
1397-
<span class="n">chain</span><span class="o">.</span><span class="na">proceed</span><span class="o">();</span>
1398-
<span class="c1">// do something after the request executes</span>
1399-
<span class="n">System</span><span class="o">.</span><span class="na field">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;after request&quot;</span><span class="o">);</span>
1389+
<span class="c1">//... filter logic</span>
14001390
<span class="o">}</span>
14011391
</pre></div>
14021392
</div>
14031393

14041394
<h4>Javalin</h4>
14051395
<p>
1406-
<code>@Filter</code> correspond to Javalin <code>before</code> handlers, and can have a <code>Context</code> parameter.
1396+
Javalin filters correspond to <code>before</code> handlers, and can have a <code>Context</code> parameter.
14071397
</p>
14081398
<div class="syntax java"><div class="highlight"><pre><span></span><span class="nd">@Filter</span>
14091399
<span class="kt">void</span> <span class="nf">filter</span><span class="o">(</span><span class="n">Context</span> <span class="n">ctx</span><span class="o">)</span> <span class="o">{</span>
1410-
<span class="n">System</span><span class="o">.</span><span class="na field">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="s">&quot;before request&quot;</span><span class="o">);</span>
1411-
<span class="c1">//calling ctx.skipRemainingHandlers() allows you to avoid further processing</span>
1400+
<span class="c1">//... filter logic</span>
14121401
<span class="o">}</span>
14131402
</pre></div>
14141403
</div>

nima/index.html

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,40 @@ <h4>2a. JDK 23+</h4>
202202
<span class="nt">&lt;/properties&gt;</span>
203203
</pre></div>
204204
</div>
205+
<details>
206+
<summary><code>Alternative: maven-compiler-plugin</code></summary>
207+
<p>
208+
Alternatively we can explicitly configure the <code>maven-compiler-plugin</code>
209+
to specify the annotation processor paths:
210+
</p>
211+
<div class="syntax xml"><div class="highlight"><pre><span></span><span class="nt">&lt;build&gt;</span>
212+
<span class="nt">&lt;plugins&gt;</span>
213+
214+
<span class="nt">&lt;plugin&gt;</span>
215+
<span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
216+
<span class="nt">&lt;artifactId&gt;</span>maven-compiler-plugin<span class="nt">&lt;/artifactId&gt;</span>
217+
<span class="nt">&lt;version&gt;</span>3.14.1<span class="nt">&lt;/version&gt;</span>
218+
<span class="nt">&lt;configuration&gt;</span>
219+
<span class="nt">&lt;annotationProcessorPaths&gt;</span>
220+
<span class="nt">&lt;path&gt;</span>
221+
<span class="nt">&lt;groupId&gt;</span>io.avaje<span class="nt">&lt;/groupId&gt;</span>
222+
<span class="nt">&lt;artifactId&gt;</span>avaje-nima-generator<span class="nt">&lt;/artifactId&gt;</span>
223+
<span class="nt">&lt;version&gt;</span>&#36;{avaje-nima.version}<span class="nt">&lt;/version&gt;</span>
224+
<span class="nt">&lt;/path&gt;</span>
225+
<span class="nt">&lt;path&gt;</span>
226+
<span class="nt">&lt;groupId&gt;</span>io.ebean<span class="nt">&lt;/groupId&gt;</span>
227+
<span class="nt">&lt;artifactId&gt;</span>querybean-generator<span class="nt">&lt;/artifactId&gt;</span>
228+
<span class="nt">&lt;version&gt;</span>&#36;{ebean.version}<span class="nt">&lt;/version&gt;</span>
229+
<span class="nt">&lt;/path&gt;</span>
230+
<span class="nt">&lt;/annotationProcessorPaths&gt;</span>
231+
<span class="nt">&lt;/configuration&gt;</span>
232+
<span class="nt">&lt;/plugin&gt;</span>
233+
234+
<span class="nt">&lt;/plugins&gt;</span>
235+
<span class="nt">&lt;/build&gt;</span>
236+
</pre></div>
237+
</div>
238+
</details>
205239

206240
<h2 id="first-controller">Controller</h2>
207241
<p>

0 commit comments

Comments
 (0)