An immutable sequence of characters. When created by the same
implementation, objects implementing this interface must obey the
general {@linkplain Object#equals equals contract} when compared
with each other. Therefore, {@code Name} objects from the same
implementation are usable in collections while {@code Name}s from
different implementations may not work properly in collections.
An empty {@code Name} has a length of zero.
In the context of {@linkplain
javax.annotation.processing.ProcessingEnvironment annotation
processing}, the guarantees for "the same" implementation must
include contexts where the {@linkplain javax.annotation.processing
API mediated} side effects of {@linkplain
javax.annotation.processing.Processor processors} could be visible
to each other, including successive annotation processing
{@linkplain javax.annotation.processing.RoundEnvironment rounds}. |