def virtual_members(self): virtual_members = [] if self.ir_class.is_subclassof("of_oxm"): value_member = find(lambda m: m.name, self.ir_model_members) if value_member: oxm_entry = model.oxm_map[self.interface.name] virtual_members += [ JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(value_member.java_type.public_type), "MatchField.%s" % oxm_entry.value), JavaVirtualMember(self, "masked", java_type.boolean, "true" if oxm_entry.masked else "false"), ] else: virtual_members += [ JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(), "null"), JavaVirtualMember(self, "masked", java_type.boolean, "false"), ] elif self.ir_class.is_subclassof("of_oxs"): value_member = find(lambda m: m.name, self.ir_model_members) if value_member: oxs_entry = model.oxs_map[self.interface.name] virtual_members += [ JavaVirtualMember(self, "statField", java_type.make_stat_field_jtype(value_member.java_type.public_type), "StatField.%s" % oxs_entry.value), JavaVirtualMember(self, "masked", java_type.boolean, "true" if oxs_entry.masked else "false"), ] else: virtual_members += [ JavaVirtualMember(self, "statField", java_type.make_stat_field_jtype(), "null"), JavaVirtualMember(self, "masked", java_type.boolean, "false"), ] if not find(lambda m: m.name == "version", self.ir_model_members): virtual_members.append(JavaVirtualMember(self, "version", java_type.of_version, "OFVersion.%s" % self.version.constant_version)) return tuple(virtual_members)
def virtual_members(self): virtual_members = [] if self.name == "OFOxm": virtual_members += [ JavaVirtualMember(self, "value", java_type.generic_t), JavaVirtualMember(self, "mask", java_type.generic_t), JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype("T")), JavaVirtualMember(self, "masked", java_type.boolean), ] elif self.parent_interface and self.parent_interface.startswith("OFOxm"): field_type = java_type.make_match_field_jtype(model.oxm_map[self.name].type_name) \ if self.name in model.oxm_map \ else java_type.make_match_field_jtype() virtual_members += [ JavaVirtualMember(self, "matchField", field_type), JavaVirtualMember(self, "masked", java_type.boolean), ] if not find(lambda x: x.name == "mask", self.ir_model_members): virtual_members.append(JavaVirtualMember(self, "mask", find(lambda x: x.name == "value", self.ir_model_members).java_type)) if not find(lambda m: m.name == "version", self.ir_model_members): virtual_members.append(JavaVirtualMember(self, "version", java_type.of_version)) return tuple(virtual_members)
def virtual_members(self): virtual_members = [] if self.ir_class.is_subclassof("of_oxm"): value_member = find(lambda m: m.name, self.ir_model_members) if value_member: oxm_entry = model.oxm_map[self.interface.name] virtual_members += [ JavaVirtualMember( self, "matchField", java_type.make_match_field_jtype( value_member.java_type.public_type), "MatchField.%s" % oxm_entry.value), JavaVirtualMember(self, "masked", java_type.boolean, "true" if oxm_entry.masked else "false"), ] else: virtual_members += [ JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(), "null"), JavaVirtualMember(self, "masked", java_type.boolean, "false"), ] if not find(lambda m: m.name == "version", self.ir_model_members): virtual_members.append( JavaVirtualMember( self, "version", java_type.of_version, "OFVersion.%s" % self.version.constant_version)) return tuple(virtual_members)
def virtual_members(self): virtual_members = [] if self.name == "OFOxm": virtual_members += [ JavaVirtualMember(self, "value", java_type.generic_t), JavaVirtualMember(self, "mask", java_type.generic_t), JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype("T")), JavaVirtualMember(self, "masked", java_type.boolean), JavaVirtualMember(self, "canonical", java_type.make_oxm_jtype("T")) ] elif self.ir_class.is_subclassof("of_oxm"): value = find(lambda m: m.name=="value", self.ir_model_members) if value: field_type = java_type.make_match_field_jtype(value.java_type.public_type) else: field_type = java_type.make_match_field_jtype() virtual_members += [ JavaVirtualMember(self, "matchField", field_type), JavaVirtualMember(self, "masked", java_type.boolean), JavaVirtualMember(self, "canonical", java_type.make_oxm_jtype(value.java_type.public_type), custom_template=lambda builder: "OFOxm{}_getCanonical.java".format(".Builder" if builder else "")), ] if not find(lambda x: x.name == "mask", self.ir_model_members): virtual_members.append( JavaVirtualMember(self, "mask", find(lambda x: x.name == "value", self.ir_model_members).java_type)) elif self.name =="OFErrorMsg": virtual_members += [ JavaVirtualMember(self, "data", java_type.error_cause_data) ] if not find(lambda m: m.name == "version", self.ir_model_members): virtual_members.append(JavaVirtualMember(self, "version", java_type.of_version)) return tuple(virtual_members)
def virtual_members(self): if self.interface.parent_interface and self.interface.parent_interface.startswith("OFOxm"): if self.interface.name in model.oxm_map: oxm_entry = model.oxm_map[self.interface.name] return ( JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(oxm_entry.type_name), "MatchField.%s" % oxm_entry.value), JavaVirtualMember(self, "masked", java_type.boolean, "true" if oxm_entry.masked else "false"), ) else: return ( JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(), "null"), JavaVirtualMember(self, "masked", java_type.boolean, "false"), ) else: return ()
def virtual_members(self): virtual_members = [] if self.name == "OFOxm": virtual_members += [ JavaVirtualMember(self, "value", java_type.generic_t), JavaVirtualMember(self, "mask", java_type.generic_t), JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype("T")), JavaVirtualMember(self, "masked", java_type.boolean), JavaVirtualMember(self, "canonical", java_type.make_oxm_jtype("T")) ] elif self.ir_class.is_subclassof("of_oxm"): value = find(lambda m: m.name == "value", self.ir_model_members) if value: field_type = java_type.make_match_field_jtype( value.java_type.public_type) else: field_type = java_type.make_match_field_jtype() virtual_members += [ JavaVirtualMember(self, "matchField", field_type), JavaVirtualMember(self, "masked", java_type.boolean), JavaVirtualMember( self, "canonical", java_type.make_oxm_jtype(value.java_type.public_type), custom_template=lambda builder: "OFOxm{}_getCanonical.java" .format(".Builder" if builder else "")), ] if not find(lambda x: x.name == "mask", self.ir_model_members): virtual_members.append( JavaVirtualMember( self, "mask", find(lambda x: x.name == "value", self.ir_model_members).java_type)) elif self.name == "OFErrorMsg": virtual_members += [ JavaVirtualMember(self, "data", java_type.error_cause_data) ] if not find(lambda m: m.name == "version", self.ir_model_members): virtual_members.append( JavaVirtualMember(self, "version", java_type.of_version)) return tuple(virtual_members)
def virtual_members(self): virtual_members = [] if self.interface.parent_interface and self.interface.parent_interface.startswith("OFOxm"): if self.interface.name in model.oxm_map: oxm_entry = model.oxm_map[self.interface.name] virtual_members += [ JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(oxm_entry.type_name), "MatchField.%s" % oxm_entry.value), JavaVirtualMember(self, "masked", java_type.boolean, "true" if oxm_entry.masked else "false"), ] else: virtual_members += [ JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype(), "null"), JavaVirtualMember(self, "masked", java_type.boolean, "false"), ] if not find(lambda m: m.name == "version", self.ir_model_members): virtual_members.append(JavaVirtualMember(self, "version", java_type.of_version, "OFVersion.%s" % self.version.constant_version)) return tuple(virtual_members)
def virtual_members(self): if self.name == "OFOxm": return ( JavaVirtualMember(self, "value", java_type.generic_t), JavaVirtualMember(self, "mask", java_type.generic_t), JavaVirtualMember(self, "matchField", java_type.make_match_field_jtype("T")), JavaVirtualMember(self, "masked", java_type.boolean), ) elif self.parent_interface and self.parent_interface.startswith("OFOxm"): field_type = java_type.make_match_field_jtype(model.oxm_map[self.name].type_name) \ if self.name in model.oxm_map \ else java_type.make_match_field_jtype() return ( JavaVirtualMember(self, "matchField", field_type), JavaVirtualMember(self, "masked", java_type.boolean), ) \ + \ ( ( JavaVirtualMember(self, "mask", find(lambda x: x.name == "value", self.ir_model_members).java_type), ) if not find(lambda x: x.name == "mask", self.ir_model_members) else () ) else: return ()