Annotation Interface ProgramClass


@ClassVersion(sourceVersion="$Id: ProgramClass.java 1163 2026-03-20 15:28:33Z tquadrat $") @API(status=STABLE, since="0.1.0") @Documented @Retention(SOURCE) @Target(TYPE) public @interface ProgramClass

This is the marker annotation for a "Main" class. That is a class that has a method

public static final void main( String... )

and is meant either as the starting point of a larger application or as a standalone program.

Particular the latter will have often just static methods – like utility classes – and therefore causes warnings in some tools. This annotation allows to suppress these warnings.

Author:
Thomas Thrien (thomas.thrien@tquadrat.org)
Version:
$Id: ProgramClass.java 1163 2026-03-20 15:28:33Z tquadrat $
Since:
0.1.0