Add BaseInit to DocumentSourceExtension

XMLWordPrintableJSON

    • Query Integration
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      DocumentSourceExtensionExpandable will be added as a derivation of DocumentSourceExtension. As part of the functionality of that class, extensions will be expanded into other stages and, thus, more DocumentSourceExtensions (or rather, objects that derive from DocumentSourceExtension).

      To prevent having to split up the member variables of the parent DocumentSourceExtension object just to pass it to a child class of DocumentSourceExtension (which will in turn initialize a DocumentSourceExtension in its constructor), we should have an easy initializer struct that can be retrieved and sent to the objects we are constructing.

      ex.

      DocumentSourceExtensionExpandable derives from DocumentSourceExtension
      DocumentSourceExtensionOptimizable derives from DocumentSourceExtension
      
      
      DocumentSourceExtensionExpandable expand()
          expanded nodes = expand the parse node
          DocumentSourceExtensionOptimizable(raw_stage, id, descriptor, ..., expanded node)
      
      vs.
      
      DocumentSourceExtensionExpandable expand()
          expanded nodes = expand the parse node
          DocumentSourceExtensionOptimizable(getBaseInit(), expanded node)

            Assignee:
            Josh Siegel
            Reporter:
            Josh Siegel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: