original_string: public function getDataType(string $dataTypeHandle)
      {
          if (!isset($this->dataTypes[$dataTypeHandle])) {
              Schematic::error('DataType '.$dataTypeHandle.' is not registered');
  
              return null;
          }
  
          $dataTypeClass = $this->dataTypes[$dataTypeHandle];
          if (!class_exists($dataTypeClass)) {
              Schematic::error('Class '.$dataTypeClass.' does not exist');
  
              return null;
          }
  
          $dataType = new $dataTypeClass();
          if (!$dataType instanceof DataTypeInterface) {
              Schematic::error($dataTypeClass.' does not implement DataTypeInterface');
  
              return null;
          }
  
          return $dataType;
      }
code: public function getDataType(string $dataTypeHandle)
      {
          if (!isset($this->dataTypes[$dataTypeHandle])) {
              Schematic::error('DataType '.$dataTypeHandle.' is not registered');
  
              return null;
          }
  
          $dataTypeClass = $this->dataTypes[$dataTypeHandle];
          if (!class_exists($dataTypeClass)) {
              Schematic::error('Class '.$dataTypeClass.' does not exist');
  
              return null;
          }
  
          $dataType = new $dataTypeClass();
          if (!$dataType instanceof DataTypeInterface) {
              Schematic::error($dataTypeClass.' does not implement DataTypeInterface');
  
              return null;
          }
  
          return $dataType;
      }
code_tokens: public function getDataType ( string $ dataTypeHandle ) { if ( ! isset ( $ this -> dataTypes [ $ dataTypeHandle ] ) ) { Schematic :: error ( 'DataType ' . $ dataTypeHandle . ' is not registered' ) ; return null ; } $ dataTypeClass = $ this -> dataTypes [ $ dataTypeHandle ] ; if ( ! class_exists ( $ dataTypeClass ) ) { Schematic :: error ( 'Class ' . $ dataTypeClass . ' does not exist' ) ; return null ; } $ dataType = new $ dataTypeClass ( ) ; if ( ! $ dataType instanceof DataTypeInterface ) { Schematic :: error ( $ dataTypeClass . ' does not implement DataTypeInterface' ) ; return null ; } return $ dataType ; }
docstring: Get datatype by handle.
  
  @param string $dataTypeHandle
  
  @return DateTypeInterface|null
docstring_tokens: Get datatype by handle .