oracle.jdeveloper.audit.service
Interface TypeSafeEnumeration

A marker interface for type-safe enumerations. For an explanation of the
type-safe enumeration idiom in general, see this
excerpt
from Effective Java by Joshua Bloch. TypeSafeEnumeration is not
part of the idiom described there, but is recognized by the Audit framework
as a declaration that the class which implements it is a type-safe enumeration
which can be assumed to:

have only private constructors,

expose all instances of the class as public static final constants, and

return a unique string for each constant from its toString()
method.

The Audit framework relies on these assumptions to generate
property editors for, and to marshal and unmarshal values of, classes which
extend TypeSafeEnumeration.