package org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers;
import static com.google.common.base.Preconditions.checkArgument;
+import static org.opendaylight.mdsal.binding.javav2.util.BindingMapping.PATTERN_CONSTANT_NAME;
import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import org.apache.commons.text.StringEscapeUtils;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.binding.javav2.generator.util.Types;
import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil;
private final GeneratedType type;
private final Map<String, String> importMap;
+ /**
+ * list of all imported names for template
+ */
+ private final Map<String, String> importedNames = new HashMap<>();
protected BaseRenderer(final GeneratedType type) {
this.type = Preconditions.checkNotNull(type);
return type;
}
+ protected Map<String, String> getImportedNames() {
+ return importedNames;
+ }
+
protected String getFromImportMap(@NonNull final String typeName) {
return importMap.get(typeName);
}
return null;
}
- //FIXME: this should be deprecated in favor of contantsTemplate
- /**
- * @param constant constant to emit
- * @return string with constant wrapped in code
- */
- protected String emitConstant(final Constant constant) {
- final StringBuilder sb = new StringBuilder();
- final Object value = constant.getValue();
- sb.append("public static final ")
- .append(importedName(constant.getType()))
- .append(' ')
- .append(constant.getName())
- .append(" = ");
- if (value instanceof QName) {
- final QName qname = (QName) value;
- sb.append(QName.class.getName()).append(".create(\"").append(qname.getNamespace()).append("\", ");
- final Optional<Revision> rev = qname.getRevision();
- if (rev.isPresent()) {
- sb.append('"').append(rev.get()).append('"');
- } else {
- sb.append("null");
- }
- sb.append(", \"").append(qname.getLocalName()).append("\").intern()");
- } else {
- sb.append(value);
- }
- sb.append(";\n");
- return sb.toString();
- }
-
/**
* Generates the string with all actual type parameters from
*