class_docstr: Similar to EntityPathPattern but only matches time dimensions.
  
  Analogous pattern for TimeDimension() in the object builder naming scheme.
class_docstr_tok: ["Similar","to","EntityPathPattern","but","only","matches","time","dimensions",".","Analogous","pattern","for","TimeDimension","(",")","in","the","object","builder","naming","scheme","."]
docstr: Create the pattern that represents 'TimeDimension(...)' in the object builder naming scheme.
  
  For this pattern, A None value for the time grain matches any grain. However, a None value for the date part
  means that the date part has to be None. This follows the interface defined by the object builder naming scheme.
docstr_tok: ["Create","the","pattern","that","represents","'TimeDimension","(","...",")","'","in","the","object","builder","naming","scheme",".","For","this","pattern",",","A","None","value","for","the","time","grain","matches","any","grain",".","However",",","a","None","value","for","the","date","part","means","that","the","date","part","has","to","be","None",".","This","follows","the","interface","defined","by","the","object","builder","naming","scheme","."]
code: def from_call_parameter_set(
      time_dimension_call_parameter_set: TimeDimensionCallParameterSet,
  ) -> TimeDimensionPattern:
      """Create the pattern that represents 'TimeDimension(...)' in the object builder naming scheme.
  
      For this pattern, A None value for the time grain matches any grain. However, a None value for the date part
      means that the date part has to be None. This follows the interface defined by the object builder naming scheme.
      """
      fields_to_compare: List[ParameterSetField] = [
          ParameterSetField.ELEMENT_NAME,
          ParameterSetField.ENTITY_LINKS,
          ParameterSetField.DATE_PART,
      ]
  
      if time_dimension_call_parameter_set.time_granularity is not None:
          fields_to_compare.append(ParameterSetField.TIME_GRANULARITY)
  
      return TimeDimensionPattern(
          parameter_set=EntityLinkPatternParameterSet.from_parameters(
              fields_to_compare=tuple(fields_to_compare),
              element_name=time_dimension_call_parameter_set.time_dimension_reference.element_name,
              entity_links=time_dimension_call_parameter_set.entity_path,
              time_granularity=time_dimension_call_parameter_set.time_granularity,
              date_part=time_dimension_call_parameter_set.date_part,
          )
      )
  
file_path: metricflow/metricflow/specs/patterns/typed_patterns.py
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import List, Sequence
  from dbt_semantic_interfaces.call_parameter_sets import DimensionCallParameterSet, EntityCallParameterSet, TimeDimensionCallParameterSet
  from typing_extensions import override
  from metricflow.specs.patterns.entity_link_pattern import EntityLinkPattern, EntityLinkPatternParameterSet, ParameterSetField
  from metricflow.specs.specs import InstanceSpec, InstanceSpecSet, LinkableInstanceSpec
label_desc: Use image node_id 2 for calling the TimeDimensionPattern obj's underlying member method code with example usage: obj.from_call_parameter_set(time_dimension_call_parameter_set) and returns: TimeDimensionPattern