-/*******************************************************************************\r
- * Copyright (c) 2010 Association for Decentralized Information Management in\r
- * Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
+/*******************************************************************************
+ * Copyright (c) 2010 Association for Decentralized Information Management in
+ * Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
package org.simantics.databoard.parser;
-import java.io.IOException;\r
-\r
-import org.simantics.databoard.binding.ArrayBinding;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.BooleanBinding;\r
-import org.simantics.databoard.binding.ByteBinding;\r
-import org.simantics.databoard.binding.DoubleBinding;\r
-import org.simantics.databoard.binding.FloatBinding;\r
-import org.simantics.databoard.binding.IntegerBinding;\r
-import org.simantics.databoard.binding.LongBinding;\r
-import org.simantics.databoard.binding.MapBinding;\r
-import org.simantics.databoard.binding.OptionalBinding;\r
-import org.simantics.databoard.binding.RecordBinding;\r
-import org.simantics.databoard.binding.StringBinding;\r
-import org.simantics.databoard.binding.UnionBinding;\r
-import org.simantics.databoard.binding.VariantBinding;\r
-import org.simantics.databoard.binding.error.BindingException;\r
-import org.simantics.databoard.binding.error.RuntimeBindingException;\r
-import org.simantics.databoard.binding.mutable.MutableVariant;\r
-import org.simantics.databoard.file.RuntimeIOException;\r
-import org.simantics.databoard.parser.repository.DataTypeRepository;\r
-import org.simantics.databoard.parser.repository.DataValueRepository;\r
-import org.simantics.databoard.type.Component;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.databoard.type.RecordType;\r
-import org.simantics.databoard.type.UnionType;\r
+import java.io.IOException;
+
+import org.simantics.databoard.binding.ArrayBinding;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.BooleanBinding;
+import org.simantics.databoard.binding.ByteBinding;
+import org.simantics.databoard.binding.DoubleBinding;
+import org.simantics.databoard.binding.FloatBinding;
+import org.simantics.databoard.binding.IntegerBinding;
+import org.simantics.databoard.binding.LongBinding;
+import org.simantics.databoard.binding.MapBinding;
+import org.simantics.databoard.binding.OptionalBinding;
+import org.simantics.databoard.binding.RecordBinding;
+import org.simantics.databoard.binding.StringBinding;
+import org.simantics.databoard.binding.UnionBinding;
+import org.simantics.databoard.binding.VariantBinding;
+import org.simantics.databoard.binding.error.BindingException;
+import org.simantics.databoard.binding.error.RuntimeBindingException;
+import org.simantics.databoard.binding.mutable.MutableVariant;
+import org.simantics.databoard.file.RuntimeIOException;
+import org.simantics.databoard.parser.repository.DataTypeRepository;
+import org.simantics.databoard.parser.repository.DataValueRepository;
+import org.simantics.databoard.type.Component;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.databoard.type.RecordType;
+import org.simantics.databoard.type.UnionType;
/**
* A class that converts values to their text presentation.
int len = b.size(instance);
out.append(format.openArray);
for (int i = 0; i < len; i++) {
- Object component = b.get(instance, i);\r
- if (component == null)\r
- out.append("null");\r
+ Object component = b.get(instance, i);
+ if (component == null)
+ out.append("null");
else
cb.accept(this, component);
- if (i < len - 1) {\r
- out.append(format.arraySeparator);\r
- out.append(' ');\r
- }\r
+ if (i < len - 1) {
+ out.append(format.arraySeparator);
+ out.append(' ');
+ }
}
out.append(format.closeArray);
} catch (IOException e) {
out.append(format.openRecord);
putLineFeed();
addIndent();
- try {\r
- int fieldsLeft = 0;\r
- for (int i = 0; i < len; i++) {\r
- Binding componentBinding = bindings[i];\r
- Object value = b.getComponent(instance, i);\r
- if (componentBinding instanceof OptionalBinding) {\r
- OptionalBinding ob = (OptionalBinding) componentBinding;\r
- if (!ob.hasValue(value)) continue;\r
- }\r
- fieldsLeft++;\r
- }\r
+ try {
+ int fieldsLeft = 0;
+ for (int i = 0; i < len; i++) {
+ Binding componentBinding = bindings[i];
+ Object value = b.getComponent(instance, i);
+ if (componentBinding instanceof OptionalBinding) {
+ OptionalBinding ob = (OptionalBinding) componentBinding;
+ if (!ob.hasValue(value)) continue;
+ }
+ fieldsLeft++;
+ }
for (int i = 0; i < len; i++) {
Binding componentBinding = bindings[i];
// Write value
componentBinding.accept(this, value);
}
-\r
+
// Add "," if there are more fields
- fieldsLeft--;\r
- if (fieldsLeft>0)\r
- out.append(format.arraySeparator);\r
+ fieldsLeft--;
+ if (fieldsLeft>0)
+ out.append(format.arraySeparator);
putLineFeed();
}
}
private void putLongString(String unescapedString) throws IOException {
- out.append(format.openLongString);\r
- // Escape the following characters \\ " \ \t\r
- for (int i = 0; i < unescapedString.length(); i++) {\r
- char c = unescapedString.charAt(i);\r
- switch (c) {\r
- // Backspace \b or \u0008\r
- case '\b':\r
- out.append("\\b");\r
- break;\r
- // Form feed \f or\r
- case '\f':\r
- out.append("\\f");\r
- break;\r
- // Backslash \\ or \u005c\r
- case '\\':\r
- out.append("\\\\");\r
- break;\r
- // Single Quote \' or \u0027\r
- case '\'':\r
- out.append("\\\'");\r
- break;\r
- // Double Quote \" or \u0022\r
- case '\"':\r
- out.append("\\\"");\r
- break;\r
- // Tabulator \t or\r
- case '\t':\r
- out.append("\\t");\r
- break;\r
- default:\r
- out.append(c);\r
- break;\r
- }\r
- }\r
+ out.append(format.openLongString);
+ // Escape the following characters \\ " \ \t
+ for (int i = 0; i < unescapedString.length(); i++) {
+ char c = unescapedString.charAt(i);
+ switch (c) {
+ // Backspace \b or \u0008
+ case '\b':
+ out.append("\\b");
+ break;
+ // Form feed \f or
+ case '\f':
+ out.append("\\f");
+ break;
+ // Backslash \\ or \u005c
+ case '\\':
+ out.append("\\\\");
+ break;
+ // Single Quote \' or \u0027
+ case '\'':
+ out.append("\\\'");
+ break;
+ // Double Quote \" or \u0022
+ case '\"':
+ out.append("\\\"");
+ break;
+ // Tabulator \t or
+ case '\t':
+ out.append("\\t");
+ break;
+ default:
+ out.append(c);
+ break;
+ }
+ }
out.append(format.closeLongString);
}