public class LabelGeneratorRegistry extends java.lang.Object implements ILabelGenerator.Registry
MethodCall registrations may be made via registerInstanceMethod or registerStaticMethod.
A debug string may be obtained via DebugString.toDebug(object).
DebugString providers string formatters for simple classes such as String, Number, Boolean and Ecore components such as EObject, Resource and ResourceSet.
User extensions should be registered prior to use. Beware that late registration can give misleading results since in the absence of an exact MethodCall registration the class hierarchy is search first for base classes then for instances for which there is an exact MethodCall match. This result is then cached and so may occlude a late registration.
Modifier and Type | Class and Description |
---|---|
static class |
LabelGeneratorRegistry.Global |
Modifier and Type | Field and Description |
---|---|
protected ILabelGenerator.Registry |
delegate |
INSTANCE
Constructor and Description |
---|
LabelGeneratorRegistry(ILabelGenerator.Registry delegate)
Construct a registry that resolves label generators locally when possible
but which delegates to delegate otherwise.
|
Modifier and Type | Method and Description |
---|---|
<T> void |
buildLabelFor(ILabelGenerator.Builder s,
T labelledObject) |
<T> void |
buildSubLabelFor(ILabelGenerator.Builder labelBuilder,
T labelledObject) |
ILabelGenerator.Builder |
createDefaultLabelBuilder(java.lang.Object labelledObject,
java.util.Map<ILabelGenerator.Option<?>,java.lang.Object> options) |
static java.lang.String |
debugLabelFor(java.lang.Object object) |
ILabelGenerator<?> |
get(java.lang.Class<?> labelledClass) |
protected ILabelGenerator<?> |
getLabelGenerator(java.lang.Class<?> cls) |
static LabelGeneratorRegistry |
init() |
static void |
initialize(ILabelGenerator.Registry registry) |
java.lang.Object |
install(java.lang.Class<?> labelledClass,
ILabelGenerator.Descriptor labelDescriptor) |
java.lang.Object |
install(java.lang.Class<?> labelledClass,
ILabelGenerator<?> labelGenerator) |
java.lang.String |
labelFor(java.lang.Object labelledObject) |
java.lang.String |
labelFor(java.lang.Object labelledObject,
java.util.Map<ILabelGenerator.Option<?>,java.lang.Object> options) |
void |
uninstall(java.lang.Class<?> labelledClass) |
protected final ILabelGenerator.Registry delegate
public LabelGeneratorRegistry(ILabelGenerator.Registry delegate)
@NonNull public static java.lang.String debugLabelFor(@NonNull java.lang.Object object)
@NonNull public static LabelGeneratorRegistry init()
public static void initialize(ILabelGenerator.Registry registry)
public <T> void buildLabelFor(ILabelGenerator.Builder s, @Nullable T labelledObject)
buildLabelFor
in interface ILabelGenerator.Registry
public <T> void buildSubLabelFor(ILabelGenerator.Builder labelBuilder, @Nullable T labelledObject)
buildSubLabelFor
in interface ILabelGenerator.Registry
public ILabelGenerator.Builder createDefaultLabelBuilder(@Nullable java.lang.Object labelledObject, @Nullable java.util.Map<ILabelGenerator.Option<?>,java.lang.Object> options)
@Nullable public ILabelGenerator<?> get(@NonNull java.lang.Class<?> labelledClass)
get
in interface ILabelGenerator.Registry
@Nullable protected ILabelGenerator<?> getLabelGenerator(@NonNull java.lang.Class<?> cls)
@Nullable public java.lang.Object install(@NonNull java.lang.Class<?> labelledClass, @NonNull ILabelGenerator.Descriptor labelDescriptor)
install
in interface ILabelGenerator.Registry
@Nullable public java.lang.Object install(@NonNull java.lang.Class<?> labelledClass, @NonNull ILabelGenerator<?> labelGenerator)
install
in interface ILabelGenerator.Registry
@NonNull public java.lang.String labelFor(@Nullable java.lang.Object labelledObject)
labelFor
in interface ILabelGenerator.Registry
@NonNull public java.lang.String labelFor(@Nullable java.lang.Object labelledObject, @Nullable java.util.Map<ILabelGenerator.Option<?>,java.lang.Object> options)
labelFor
in interface ILabelGenerator.Registry
public void uninstall(@NonNull java.lang.Class<?> labelledClass)
uninstall
in interface ILabelGenerator.Registry