Class AbstractDeclarativeValueConverterService
- java.lang.Object
-
- org.eclipse.xtext.conversion.impl.AbstractValueConverterService
-
- org.eclipse.xtext.conversion.impl.AbstractDeclarativeValueConverterService
-
- All Implemented Interfaces:
IValueConverterService
,IValueConverterService.Introspectable
- Direct Known Subclasses:
DefaultTerminalConverters
public abstract class AbstractDeclarativeValueConverterService extends AbstractValueConverterService implements IValueConverterService.Introspectable
Abstract base implementation for theIValueConverterService
. All methods that are annotated with@ValueConverter
are used to collect the strategies for this language. Furthermore, theEMF factories
are inspected to create converters for data types that have not yet been mapped.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.xtext.conversion.IValueConverterService
IValueConverterService.Introspectable
-
-
Field Summary
Fields Modifier and Type Field Description protected DefaultTerminalConverter.Factory
defaultTerminalConverterFactory
-
Constructor Summary
Constructors Constructor Description AbstractDeclarativeValueConverterService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
recursiveRegisterForClass(java.lang.Class<?> clazz, java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters)
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)
-
-
-
Field Detail
-
defaultTerminalConverterFactory
@Inject protected DefaultTerminalConverter.Factory defaultTerminalConverterFactory
-
-
Method Detail
-
setGrammar
@Inject public void setGrammar(IGrammarAccess grammarAccess)
-
getGrammar
protected Grammar getGrammar()
-
toString
public java.lang.String toString(java.lang.Object value, java.lang.String lexerRule)
- Specified by:
toString
in interfaceIValueConverterService
-
toValue
public java.lang.Object toValue(java.lang.String string, java.lang.String lexerRule, INode node) throws ValueConverterException
- Specified by:
toValue
in interfaceIValueConverterService
- Throws:
ValueConverterException
- See Also:
NodeModelUtils.getTokenText(INode)
-
getConverter
public IValueConverter<java.lang.Object> getConverter(java.lang.String lexerRule)
- Specified by:
getConverter
in interfaceIValueConverterService.Introspectable
- Since:
- 2.7
-
getConverters
protected java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> getConverters()
-
internalRegisterForClass
protected void internalRegisterForClass(java.lang.Class<?> clazz, java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters)
- Since:
- 2.4
- Noreference:
- This method is not intended to be referenced by clients.
- Nooverride:
- This method is not intended to be re-implemented or extended by clients.
-
recursiveRegisterForClass
protected void recursiveRegisterForClass(java.lang.Class<?> clazz, java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters)
- Since:
- 2.9
-
isConfigurationMethod
protected boolean isConfigurationMethod(java.lang.reflect.Method method)
-
registerEFactoryConverters
protected void registerEFactoryConverters(java.util.Map<java.lang.String,IValueConverter<java.lang.Object>> converters)
- Since:
- 2.4
- Noreference:
- This method is not intended to be referenced by clients.
- Nooverride:
- This method is not intended to be re-implemented or extended by clients.
-
setDefaultTerminalConverterFactory
public void setDefaultTerminalConverterFactory(DefaultTerminalConverter.Factory defaultTerminalConverterFactory)
-
getDefaultTerminalConverterFactory
public DefaultTerminalConverter.Factory getDefaultTerminalConverterFactory()
-
-