@Documented @Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(value=SignatureUnknown.class) @QualifierForLiterals(stringPatterns="^[A-Za-z_][A-Za-z_0-9]*(\\.[A-Za-z_][A-Za-z_0-9]*)*(\\$[A-Za-z_0-9]+)*(\\[\\])*$") public @interface FqBinaryName
Examples include
int int[][] java.lang.String java.lang.String[] pkg.Outer$Inner pkg.Outer$Inner[]
This is not a format defined by the Java language or platform, but is a convenient format for users to unambiguously specify a type.