class ActiveFedora::SolrInstanceLoader

Responsible for loading an ActiveFedora::Base proxy from a Solr document.

def initialize(context, id, solr_doc = nil)

def initialize(context, id, solr_doc = nil)
  @context = context
  @id = id
  self.solr_doc = solr_doc
end

def object

def object
  return @object if @object
  @object = solr_doc.instantiate_with_json
  @object.readonly!
  @object.freeze
  @object
end

def solr_doc

def solr_doc
  @solr_doc ||= begin
    self.solr_doc = context.search_by_id(id)
  end
end

def solr_doc=(solr_doc)

def solr_doc=(solr_doc)
  unless solr_doc.nil?
    solr_doc = ActiveFedora::SolrHit.for(solr_doc)
    validate_solr_doc_and_id!(solr_doc)
    @solr_doc = solr_doc
  end
end

def validate_solr_doc_and_id!(document)

def validate_solr_doc_and_id!(document)
  return if id == document.id
  raise ActiveFedora::FedoraSolrMismatchError, id, document.id
end