Last change
on this file since 440 was
440,
checked in by Mateusz Poszwa, 9 years ago
|
- Updated Xtext-based Framclipse
- Deleted previous version of Framclipse
|
-
Property svn:eol-style set to
native
|
File size:
1.1 KB
|
Rev | Line | |
---|
[437] | 1 | package com.framsticks.framclipse; |
---|
| 2 | |
---|
| 3 | import org.eclipse.xtext.common.services.DefaultTerminalConverters; |
---|
| 4 | import org.eclipse.xtext.conversion.IValueConverter; |
---|
| 5 | import org.eclipse.xtext.conversion.ValueConverter; |
---|
| 6 | import org.eclipse.xtext.conversion.ValueConverterException; |
---|
| 7 | import org.eclipse.xtext.conversion.impl.AbstractToStringConverter; |
---|
[438] | 8 | import org.eclipse.xtext.nodemodel.INode; |
---|
[437] | 9 | |
---|
| 10 | public class FramScriptValueConverterService extends DefaultTerminalConverters { |
---|
| 11 | |
---|
| 12 | @ValueConverter(rule = "HEADER_VALUE") |
---|
| 13 | public IValueConverter<String> HEADER_VALUE() { |
---|
| 14 | |
---|
| 15 | return new AbstractToStringConverter<String>() { |
---|
| 16 | |
---|
| 17 | @Override |
---|
[438] | 18 | protected String internalToValue(String s, INode node) |
---|
[437] | 19 | throws ValueConverterException { |
---|
[440] | 20 | String r = s; |
---|
| 21 | if (s.startsWith("~")) { |
---|
| 22 | r = s.substring(1, s.lastIndexOf('~')); |
---|
[437] | 23 | } |
---|
[440] | 24 | return r.trim().replaceAll("\\~", "~"); |
---|
[437] | 25 | } |
---|
| 26 | |
---|
| 27 | }; |
---|
| 28 | } |
---|
[440] | 29 | |
---|
| 30 | @ValueConverter(rule = "ML_STRING") |
---|
| 31 | public IValueConverter<String> ML_STRING() { |
---|
| 32 | |
---|
| 33 | return new AbstractToStringConverter<String>() { |
---|
| 34 | |
---|
| 35 | @Override |
---|
| 36 | protected String internalToValue(String s, INode node) |
---|
| 37 | throws ValueConverterException { |
---|
| 38 | return s.substring(3, s.length()-3); |
---|
| 39 | } |
---|
| 40 | |
---|
| 41 | }; |
---|
| 42 | } |
---|
[437] | 43 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.