|
|
Re: Problem Referring to Existing EPackage [message #1223412 is a reply to message #1223403] |
Mon, 23 December 2013 09:58 |
|
e.g.:
Date returns Date:
INT "." INT "." INT ;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.eclipse.xtext.common.services.DefaultTerminalConverters;
import org.eclipse.xtext.conversion.IValueConverter;
import org.eclipse.xtext.conversion.ValueConverter;
import org.eclipse.xtext.conversion.ValueConverterException;
import org.eclipse.xtext.nodemodel.INode;
import com.google.inject.Singleton;
@Singleton
public class MyDslTerminalConverters extends DefaultTerminalConverters {
@ValueConverter(rule = "Date")
public IValueConverter<java.sql.Date> Date() {
return new IValueConverter<java.sql.Date>() {
@Override
public java.sql.Date toValue(String string, INode node)
throws ValueConverterException {
try {
return new java.sql.Date(new SimpleDateFormat("dd.MM.yyyy").parse(string).getTime());
} catch (ParseException e) {
throw new ValueConverterException("could not parse date", node, e);
}
}
@Override
public String toString(java.sql.Date value)
throws ValueConverterException {
return new SimpleDateFormat("dd.MM.yyyy").format(value);
}
};
}
}
public class MyDslRuntimeModule extends org.xtext.example.mydsl3.AbstractMyDslRuntimeModule {
public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() {
return MyDslTerminalConverters.class;
}
}
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
|
|
|
Powered by
FUDForum. Page generated in 0.02813 seconds