Support for overriding toString method for enum values
- added toString overrides for OFPortFeatures, OFPortState and OFPortConfig
diff --git a/java_gen/templates/const.java b/java_gen/templates/const.java
index 7542d53..2cd0101 100644
--- a/java_gen/templates/const.java
+++ b/java_gen/templates/const.java
@@ -36,32 +36,42 @@
//:: include("_imports.java", msg=enum)
public enum ${class_name} {
+
//:: for i, entry in enumerate(enum.entries):
-//:: if enum.metadata:
+//:: if enum.metadata.properties:
//:: params = "({})".format(", ".join(entry.constructor_params))
//:: else:
//:: params = ""
//:: #endif
- ${entry.name}${params}${ ", " if i < len(enum.entries)-1 else ";" }
+//:: delimiter = ", " if i < len(enum.entries)-1 else ";"
+//:: to_string_value = enum.metadata.to_string(entry) if enum.metadata.to_string else None
+//:: if to_string_value:
+ ${entry.name}${params} {
+ @Override
+ public String toString() {
+ return "${to_string_value}";
+ }
+ }${delimiter}
+//:: else:
+ ${entry.name}${params}${delimiter}
+//:: #endif
+//:: #endfor
+//:: if enum.metadata.properties:
+
+//:: for property_metadata in enum.metadata.properties:
+ private final ${property_metadata.type.public_type} ${property_metadata.variable_name};
//:: #endfor
-//:: if enum.metadata:
-//:: for metadata in enum.metadata:
- private final ${metadata.type.public_type} ${metadata.variable_name};
-//:: #endfor
-
- private ${class_name}(${", ".join("{} {}".format(m.type.public_type, m.variable_name) for m in enum.metadata)}) {
- //:: for metadata in enum.metadata:
- this.${metadata.variable_name} = ${metadata.variable_name};
+ private ${class_name}(${", ".join("{} {}".format(m.type.public_type, m.variable_name) for m in enum.metadata.properties)}) {
+ //:: for property_metadata in enum.metadata.properties:
+ this.${property_metadata.variable_name} = ${property_metadata.variable_name};
//:: #endfor
}
+//:: for property_metadata in enum.metadata.properties:
-//:: for metadata in enum.metadata:
- public ${metadata.type.public_type} ${metadata.getter_name}() {
- return ${metadata.variable_name};
+ public ${property_metadata.type.public_type} ${property_metadata.getter_name}() {
+ return ${property_metadata.variable_name};
}
//:: #endfor
-
-
//:: #endif
}