class_docstr: ResolverOp is the building block of input resolution logic.
  
  Usage:
    output_dict = FooOp(input_dict, foo=123)
  
  Note that output_dict in the example above is not an FooOp instance, but an
  OpNode representing the operator call Foo(input_dict, foo=123). In order to
  actually create the FooOp instance, use FooOp.create().
class_docstr_tok: ["ResolverOp","is","the","building","block","of","input","resolution","logic",".","Usage",":","output_dict","=","FooOp","(","input_dict",",","foo=123",")","Note","that","output_dict","in","the","example","above","is","not","an","FooOp","instance",",","but","an","OpNode","representing","the","operator","call","Foo","(","input_dict",",","foo=123",")",".","In","order","to","actually","create","the","FooOp","instance",",","use","FooOp.create","(",")","."]
docstr: Set Context to be used when applying the operator.
code: def set_context(self, context: Context):
      """Set Context to be used when applying the operator."""
      self.context = context
  
imports: from __future__ import annotations
  import abc
  from typing import Any, Generic, Literal, Mapping, Optional, Sequence, Set, Type, TypeVar, Union
  import attr
  from tfx import types
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import json_utils
  from tfx.utils import typing_utils
  import ml_metadata
label_desc: Use image node_id 3 for calling the ResolverOp obj's underlying member method code with example usage: obj.set_context(context) without return types