package org.erlide.conversion;
import org.eclipse.xtext.conversion.IValueConverter;
import org.eclipse.xtext.conversion.ValueConverterException;
import org.eclipse.xtext.nodemodel.INode;
import com.google.common.base.CharMatcher;
import com.google.inject.Singleton;
@Singleton
public class AtomValueConverter implements IValueConverter<String> {
@Override
public String toValue(final String string, final INode node)
throws ValueConverterException {
// this is just a demo
if (string.startsWith("'") && !string.contains(" ")) {
return string.substring(1, string.length() - 1);
}
return string;
}
@Override
public String toString(final String value) throws ValueConverterException {
if (value.length() == 0 || value.contains(" ")
|| CharMatcher.JAVA_UPPER_CASE.apply(value.charAt(0))) {
return "'" + value + "'";
}
return value;
}
}