* . *
  • About
  • Advertise
  • Privacy & Policy
  • Contact
Sunday, September 14, 2025
Earth-News
  • Home
  • Business
  • Entertainment
    Ryan Reynolds reveals he called a journalist who said mean things about John Candy – yahoo.com

    Ryan Reynolds Reveals the Moment He Stood Up to a Journalist Who Insulted John Candy

    Entertainment Community Fund Launches Program Supporting Entrepreneurs – Playbill

    Entertainment Community Fund Unveils Exciting New Program to Empower Entrepreneurs

    Behind the turntables: DJ Johnny Kage’s story of perseverance – yahoo.com

    Behind the Turntables: DJ Johnny Kage’s Inspiring Journey of Perseverance

    The other WWE star James Gunn wanted for Peacemaker instead of John Cena – yahoo.com

    The WWE Star James Gunn Originally Wanted for Peacemaker Instead of John Cena

    Quinta Brunson, John Stamos Join Entertainment and Technology Summit – Variety

    Quinta Brunson and John Stamos to Headline Thrilling Entertainment and Technology Summit

    ‘Breaking Bad’ star arrested for incident with neighbor. Here’s the latest – PennLive.com

    Breaking Bad’ Star Arrested Following Neighbor Dispute: Latest Updates

  • General
  • Health
  • News

    Cracking the Code: Why China’s Economic Challenges Aren’t Shaking Markets, Unlike America’s” – Bloomberg

    Trump’s Narrow Window to Spread the Truth About Harris

    Trump’s Narrow Window to Spread the Truth About Harris

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Science
  • Sports
  • Technology
    What if artificial intelligence is just a “normal” technology? – The Economist

    What if artificial intelligence is just a “normal” technology? – The Economist

    Lincoln Trail College Receives $100,000 Grant from Marathon Petroleum Corporation for Technology Center – wwbl.com

    Lincoln Trail College Lands $100,000 Grant from Marathon Petroleum to Elevate Technology Center

    Aston Martin to integrate Pirelli’s cyber tyre technology in future models – Just Auto

    Aston Martin to Revolutionize Future Models with Pirelli’s Cutting-Edge Cyber Tyre Technology

    Figure Technology’s stock sizzles after IPO, as investors stay hungry for crypto deals – MarketWatch

    Figure Technology’s Stock Skyrockets After IPO Amid Surging Crypto Investor Excitement

    AI is the ‘most transformational technology’ in our lifetime, AMD CEO argues – Fox Business

    AMD CEO Declares AI the Most Transformative Technology of Our Era

    PAR Technology (PAR) Unveils AI-Powered Assistant Enhancing Restaurant Operations and Customer Engagement – simplywall.st

    PAR Technology Unveils AI-Powered Assistant to Revolutionize Restaurant Operations and Boost Customer Engagement

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
No Result
View All Result
  • Home
  • Business
  • Entertainment
    Ryan Reynolds reveals he called a journalist who said mean things about John Candy – yahoo.com

    Ryan Reynolds Reveals the Moment He Stood Up to a Journalist Who Insulted John Candy

    Entertainment Community Fund Launches Program Supporting Entrepreneurs – Playbill

    Entertainment Community Fund Unveils Exciting New Program to Empower Entrepreneurs

    Behind the turntables: DJ Johnny Kage’s story of perseverance – yahoo.com

    Behind the Turntables: DJ Johnny Kage’s Inspiring Journey of Perseverance

    The other WWE star James Gunn wanted for Peacemaker instead of John Cena – yahoo.com

    The WWE Star James Gunn Originally Wanted for Peacemaker Instead of John Cena

    Quinta Brunson, John Stamos Join Entertainment and Technology Summit – Variety

    Quinta Brunson and John Stamos to Headline Thrilling Entertainment and Technology Summit

    ‘Breaking Bad’ star arrested for incident with neighbor. Here’s the latest – PennLive.com

    Breaking Bad’ Star Arrested Following Neighbor Dispute: Latest Updates

  • General
  • Health
  • News

    Cracking the Code: Why China’s Economic Challenges Aren’t Shaking Markets, Unlike America’s” – Bloomberg

    Trump’s Narrow Window to Spread the Truth About Harris

    Trump’s Narrow Window to Spread the Truth About Harris

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Science
  • Sports
  • Technology
    What if artificial intelligence is just a “normal” technology? – The Economist

    What if artificial intelligence is just a “normal” technology? – The Economist

    Lincoln Trail College Receives $100,000 Grant from Marathon Petroleum Corporation for Technology Center – wwbl.com

    Lincoln Trail College Lands $100,000 Grant from Marathon Petroleum to Elevate Technology Center

    Aston Martin to integrate Pirelli’s cyber tyre technology in future models – Just Auto

    Aston Martin to Revolutionize Future Models with Pirelli’s Cutting-Edge Cyber Tyre Technology

    Figure Technology’s stock sizzles after IPO, as investors stay hungry for crypto deals – MarketWatch

    Figure Technology’s Stock Skyrockets After IPO Amid Surging Crypto Investor Excitement

    AI is the ‘most transformational technology’ in our lifetime, AMD CEO argues – Fox Business

    AMD CEO Declares AI the Most Transformative Technology of Our Era

    PAR Technology (PAR) Unveils AI-Powered Assistant Enhancing Restaurant Operations and Customer Engagement – simplywall.st

    PAR Technology Unveils AI-Powered Assistant to Revolutionize Restaurant Operations and Boost Customer Engagement

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
No Result
View All Result
Earth-News
No Result
View All Result
Home Technology

Fluent: Static Extension Methods for Java

July 3, 2023
in Technology
Fluent: Static Extension Methods for Java
Share on FacebookShare on Twitter

Fluent allows you to call static Java methods as if they were object methods. For example, instead of writing:

assertNotEmpty(getHttpContent(createSharedUrl(website, “styles.css”)));

you would write:

website.createSharedUrl(“styles.css”).getHttpContent().assertNotEmpty();

Fluent works by transforming the abstract syntax tree during compilation. If a method can’t be resolved using Java’s normal rules, Fluent will rewrite it as such:

object.method(params…) -> method(object, params…)

and then give it back to the compiler. Now, the compiler will look for a static method taking the object as it’s first parameter. Any static methods that are in scope can be used. i.e, those you’ve written or imported. If you are importing them from another class, you will need to use import static so they can be resolved. No annotations are required.

In the above example, the extension method signatures would be:

public static URL createSharedUrl(Website website, String path) {}
public static String getHttpContent(URL url) {}
public static void assertNotEmpty(String string) {}

Extension methods are useful when you can’t (or don’t want to) add methods to a class or subclass, or you are working with an interface. Commonly, such methods are called “utility methods”, but in most other programming languages, you would just call them “functions”.

Fluent is implemented as a javac compiler plugin and has no runtime dependencies. The resulting class files are identical to code compiled with regular static method calls.

Fluent supports JDK 9 and above.

Quick Start

Download the jar, place it on your classpath, and run javac using -Xplugin:fluent:

wget https://github.com/rogerkeays/fluent/raw/main/fluent.jar
javac -cp fluent.jar -Xplugin:fluent File.java

Install Using Maven

Fluent is not yet available on Maven Central, however you can install it locally like this:

wget https://github.com/rogerkeays/fluent/raw/main/fluent.jar
mvn install:install-file -DgroupId=jamaica -DartifactId=fluent -Dversion=0.1.0 -Dpackaging=jar -Dfile=fluent.jar

Next, add the dependency to your pom.xml:

jamaica
fluent
0.1.0
compile

And configure the compiler plugin:

org.apache.maven.plugins
maven-compiler-plugin
3.11.0

-Xplugin:fluent

…

Note, older versions of the compiler plugin use a different syntax. Refer to the Maven Compiler Plugin docs for more details.

Build It Yourself

Fluent is built using a POSIX shell script:

git clone https://github.com/rogerkeays/fluent.git
cd fluent
./build.sh

If your operating system doesn’t include sh it shouldn’t be too hard to convert to whatever shell you are using. I mean, we’re talking about one java file and a text file here.

JDK Support

Fluent is tested with the following JDKs:

jdk-09.0.4
jdk-10.0.2
jdk-11.0.8
jdk-12.0.2
jdk-13.0.2
jdk-14.0.2
jdk-15.0.2
jdk-16.0.2
jdk-17.0.2
jdk-18.0.2.1
jdk-19.0.2
jdk-20.0.1
jdk-21 (early access)
jdk-22 (early access)

IDE Support

There is currently no IDE support for Fluent. Contributions are welcome. It may be possible to get your IDE to load the Fluent plugin into it’s compiler. If you get it working, please post something to github so we can all benefit.

Known Issues

you must use parentheses around numeric primitives when calling an extension method: e.g. (0).inc()
Fluent may not be compatible with other javac plugins, though so far it seems to play nice with Lombok, at least.
Fluent will make you a more productive programmer, which may go against corporate policy.

Related Resources

kotlin: a JVM language which supports extension methods out of the box.
Project Lombok: the grand-daddy of javac hacks.
unchecked: evade the checked exceptions mafia in Java.
Java Operator Overloading: a javac plugin using similar ideas.
racket-fluent: fluent syntax for Racket.
more stuff you never knew you wanted

>>> Read full article>>>
Copyright for syndicated content belongs to the linked Source : Hacker News – https://github.com/rogerkeays/fluent

Tags: FluentSTATICtechnology
Previous Post

Nvidia’s H100: Funny L2, and Tons of Bandwidth

Next Post

Tesla gives UK owners grabbing stick after forcing them to get left-hand-drive

World Athletics Championships 2025: Ryan Crouser, in only competition of year, wins third straight shot put world title – Olympics.com

World Athletics Championships 2025: Ryan Crouser, in only competition of year, wins third straight shot put world title – Olympics.com

September 14, 2025
A potentially K-shaped economy creates dilemmas for the Fed – The Hill

Navigating a K-Shaped Economy: The Fed’s Tough Road Ahead

September 14, 2025
Ryan Reynolds reveals he called a journalist who said mean things about John Candy – yahoo.com

Ryan Reynolds Reveals the Moment He Stood Up to a Journalist Who Insulted John Candy

September 14, 2025
The Surprising Health Benefits of Doing Jigsaw Puzzles, According to Experts – marthastewart.com

Unlock Unexpected Health Benefits by Doing Jigsaw Puzzles

September 14, 2025
Foreign hack of John Bolton’s AOL account cited as part of reasoning for searching his house – CNN

Foreign hack of John Bolton’s AOL account cited as part of reasoning for searching his house – CNN

September 14, 2025
‘We’ve done it before’: how not to lose hope in the fight against ecological disaster – The Guardian

We’ve Done It Before”: Finding Hope and Strength in the Fight Against Ecological Disaster

September 13, 2025
AI Can Generate Code. Is That a Threat to Computer Science Education? – Education Week

Is AI-Generated Code a Challenge for the Future of Computer Science Education?

September 13, 2025
Aldi’s $7 Salmon & Sweet Potato Dog Food Has Pups Going Wild – yahoo.com

Aldi’s $7 Salmon & Sweet Potato Dog Food Has Pups Going Wild

September 13, 2025
What if artificial intelligence is just a “normal” technology? – The Economist

What if artificial intelligence is just a “normal” technology? – The Economist

September 13, 2025
Saints to sign DL Jonah Williams to active roster – Yahoo Sports

Saints to sign DL Jonah Williams to active roster – Yahoo Sports

September 13, 2025

Categories

Archives

September 2025
MTWTFSS
1234567
891011121314
15161718192021
22232425262728
2930 
« Aug    
Earth-News.info

The Earth News is an independent English-language daily published Website from all around the World News

Browse by Category

  • Business (20,132)
  • Ecology (819)
  • Economy (838)
  • Entertainment (21,716)
  • General (17,021)
  • Health (9,882)
  • Lifestyle (853)
  • News (22,149)
  • People (841)
  • Politics (847)
  • Science (16,048)
  • Sports (21,338)
  • Technology (15,820)
  • World (821)

Recent News

World Athletics Championships 2025: Ryan Crouser, in only competition of year, wins third straight shot put world title – Olympics.com

World Athletics Championships 2025: Ryan Crouser, in only competition of year, wins third straight shot put world title – Olympics.com

September 14, 2025
A potentially K-shaped economy creates dilemmas for the Fed – The Hill

Navigating a K-Shaped Economy: The Fed’s Tough Road Ahead

September 14, 2025
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2023 earth-news.info

No Result
View All Result

© 2023 earth-news.info

No Result
View All Result

© 2023 earth-news.info

Go to mobile version