Solr
  1. Solr
  2. SOLR-436

Make SolrServer an abstract superclass rather then an interface

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.3
    • Fix Version/s: 1.3
    • Component/s: clients - java
    • Labels:
      None

      Description

      To allow more flexability in the future, SolrServer should be an abstract super class

        Activity

        Hide
        Ryan McKinley added a comment -

        moves BaseSolrServer to the SolrServer implementaion

        Show
        Ryan McKinley added a comment - moves BaseSolrServer to the SolrServer implementaion
        Hide
        Yonik Seeley added a comment -

        I don't think the abstract class / interface issue matters as much when we are going to be the only implementers of the interface.

        Show
        Yonik Seeley added a comment - I don't think the abstract class / interface issue matters as much when we are going to be the only implementers of the interface.
        Hide
        Ryan McKinley added a comment -

        Even if we are the only implementation, how do you add functions after a release? Is it just that the standard compatibility rules would not apply?

        Show
        Ryan McKinley added a comment - Even if we are the only implementation, how do you add functions after a release? Is it just that the standard compatibility rules would not apply?
        Hide
        Alexander Ramos Jardim added a comment -

        As I said on the mailing list, I don't think interfaces should be turned to abstract classes. This is a wrong design decision from a pure programming view point as interfaces should expose what abstract classes implements. They are complements and not competitors.
        I think we should have a SolrServer interface and an AbstractSolrServer that implements it.
        Methods should be added to AbstractSolrServer on minor releases, and on each major release, the interface signature should be changed to expose them in an adequate manner.

        Show
        Alexander Ramos Jardim added a comment - As I said on the mailing list, I don't think interfaces should be turned to abstract classes. This is a wrong design decision from a pure programming view point as interfaces should expose what abstract classes implements. They are complements and not competitors. I think we should have a SolrServer interface and an AbstractSolrServer that implements it. Methods should be added to AbstractSolrServer on minor releases, and on each major release, the interface signature should be changed to expose them in an adequate manner.

          People

          • Assignee:
            Ryan McKinley
            Reporter:
            Ryan McKinley
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development