public abstract class AbstractDeclarativeValueConverterService extends AbstractValueConverterService implements IValueConverterService.Introspectable
IValueConverterService
.
All methods that are annotated with @ValueConverter
are
used to collect the strategies for this language. Furthermore, the EMF factories
are inspected to create converters for data types that have not yet been mapped.IValueConverterService.Introspectable
Modifier and Type | Field and Description |
---|---|
protected DefaultTerminalConverter.Factory |
defaultTerminalConverterFactory |
Constructor and Description |
---|
AbstractDeclarativeValueConverterService() |
Modifier and Type | Method and Description |
---|---|
IValueConverter<java.lang.Object> |
getConverter(java.lang.String lexerRule) |
protected java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> |
getConverters() |
DefaultTerminalConverter.Factory |
getDefaultTerminalConverterFactory() |
protected Grammar |
getGrammar() |
protected void |
internalRegisterForClass(java.lang.Class<?> clazz,
java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters) |
protected boolean |
isConfigurationMethod(java.lang.reflect.Method method) |
protected void |
registerEFactoryConverters(java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters) |
void |
setDefaultTerminalConverterFactory(DefaultTerminalConverter.Factory defaultTerminalConverterFactory) |
void |
setGrammar(IGrammarAccess grammarAccess) |
java.lang.String |
toString(java.lang.Object value,
java.lang.String lexerRule) |
java.lang.Object |
toValue(java.lang.String string,
java.lang.String lexerRule,
INode node) |
@Inject protected DefaultTerminalConverter.Factory defaultTerminalConverterFactory
public AbstractDeclarativeValueConverterService()
@Inject public void setGrammar(IGrammarAccess grammarAccess)
protected Grammar getGrammar()
public java.lang.String toString(java.lang.Object value, java.lang.String lexerRule)
toString
in interface IValueConverterService
public java.lang.Object toValue(java.lang.String string, java.lang.String lexerRule, INode node) throws ValueConverterException
toValue
in interface IValueConverterService
ValueConverterException
NodeModelUtils.getTokenText(INode)
public IValueConverter<java.lang.Object> getConverter(java.lang.String lexerRule)
getConverter
in interface IValueConverterService.Introspectable
protected java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> getConverters()
protected void internalRegisterForClass(java.lang.Class<?> clazz, java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters)
protected boolean isConfigurationMethod(java.lang.reflect.Method method)
protected void registerEFactoryConverters(java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters)
public void setDefaultTerminalConverterFactory(DefaultTerminalConverter.Factory defaultTerminalConverterFactory)
public DefaultTerminalConverter.Factory getDefaultTerminalConverterFactory()