class_docstr: Reads a composable pipeline's info from its proto representation.
class_docstr_tok: ["Reads","a","composable","pipeline","'s","info","from","its","proto","representation","."]
code: def HasField(
      self, field_name: str
  ) -> bool:  # pylint: disable=invalid-name
      # Despite the proto method is named `HasField`, it actually means is set or
      # is non-empty.
      return_value = getattr(self, field_name)
      if isinstance(return_value, message.Message):
          # Check if a proto message is empty.
          return return_value.ByteSize() == 0
      # For other cases, e.g. a repeated field, we convert it to bool.
      return bool(return_value)
  
imports: import abc
  from typing import Sequence, Union
  from tfx.dsl.compiler import constants
  from tfx.proto.orchestration import pipeline_pb2
  from google.protobuf import message
label_desc: Use image node_id 11 for calling the ComposablePipelineProtoView obj's underlying member method code with example usage: obj.HasField(field_name) and returns: bool, unknown