@Nullable

Mark parameters as optional

Purpose: Marks a constructor parameter as optional — it can be null if not configured.

Example

public final class Notification {
    private final String message;
    private final String footer;

    public Notification(@Param("message") final String message,
                        @Nullable @Param("footer") final String footer) {
        this.message = message;
        this.footer = footer;
    }
}

If footer is missing from the config, it will be null instead of throwing an error.

Without @Nullable, a missing property would cause a ConstructionFailedException at startup.