class ActiveFedora::UnsavedDigitalObject

Helps Rubydora create datastreams of the type defined by the ActiveFedora::Base#datastream_class_for_name

def assign_pid

def assign_pid
    return @pid if @pid
    self.original_class.assign_pid(self)
end

def initialize(original_class, namespace, pid=nil)

def initialize(original_class, namespace, pid=nil)
  @pid = pid
  self.original_class = original_class
  self.namespace = namespace
  self.datastreams = {}
end

def new?

def new?
  true
end

def pid

def pid
  @pid || '__DO_NOT_USE__'
end

def save

## Change this into a real digital object
def save
  obj = DigitalObject.find(self.original_class, assign_pid)
  self.datastreams.each do |k, v|
    v.digital_object = obj
    obj.datastreams[k] = v
  end
  obj.ownerId = ownerId if ownerId
  obj.label = label if label
  obj
end