在jruby中覆盖接口方法

时间:2017-05-20 03:24:25

标签: jruby

我想在jruby中实现以下内容:

ref.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Object document = dataSnapshot.getValue();
        System.out.println(document);
    }
});

Ther ValueEventListener:

public interface ValueEventListener {
      void onDataChange(DataSnapshot snapshot);
      void onCancelled(DatabaseError error);
    }

1 个答案:

答案 0 :(得分:1)

比我最初假设的要简单得多。使用on change方法将接口包含在类中,并将proc传递给侦听器。

class EventListenerValue
  include com.google.firebase.database.ValueEventListener

  def on_data_change(data_snapshot)
    puts data_snapshot
    document = data_snapshot.val
    puts document
  end
end

event_listener =  EventListenerValue.new
ref.add_value_event_listener { |snapshot| event_listener.on_data_change(snapshot) }