// Path: puremvc_appfacade/src/main/java/com/example/puremvc_appfacade/Runs/protocol/INotification.java
// public interface INotification {
// 
//     void setName(String name);
//     String getName();
// 
//     void setObject(Object object);
//     Object getObject();
// 
//     void setType(String type);
//     String getType();
// }
// 
// Path: puremvc_appfacade/src/main/java/com/example/puremvc_appfacade/Runs/protocol/IObserver.java
// public interface IObserver {
// 
//     boolean comparedNotifyContext(Object context);
//     void setNotifyContext(Object context);
//     void notifyObserver(INotification notification);
//     void setNotifyMethod(Method method);
// }


import android.util.Log;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import com.example.puremvc_appfacade.Runs.protocol.INotification;
import com.example.puremvc_appfacade.Runs.protocol.IObserver;
package com.example.puremvc_appfacade.Runs.observer;




/**
 * Created by dev_wang on 2017/1/23.
 */

public class Observer implements IObserver{
    private String Tag = this.getClass().getName();

    private Method method = null;
    private Object context = null;

    public static IObserver withNotifyMethod(Method method, Object context) {
        return new Observer(method, context);
    }

    public Observer(Method method, Object context) {
        this.method = method;
        this.context = context;
    }

    @Override
    public boolean comparedNotifyContext(Object context) {
        return this.context.equals(context);
    }

    @Override
    public void setNotifyContext(Object context) {
        this.context = context;
    }

    @Override
    public void setNotifyMethod(Method method) {
        this.method = method;
    }

    @Override
// Path: puremvc_appfacade/src/main/java/com/example/puremvc_appfacade/Runs/protocol/INotification.java
// public interface INotification {
// 
//     void setName(String name);
//     String getName();
// 
//     void setObject(Object object);
//     Object getObject();
// 
//     void setType(String type);
//     String getType();
// }
// 
// Path: puremvc_appfacade/src/main/java/com/example/puremvc_appfacade/Runs/protocol/IObserver.java
// public interface IObserver {
// 
//     boolean comparedNotifyContext(Object context);
//     void setNotifyContext(Object context);
//     void notifyObserver(INotification notification);
//     void setNotifyMethod(Method method);
// }


// Path: puremvc_appfacade/src/main/java/com/example/puremvc_appfacade/Runs/observer/Observer.java
import android.util.Log;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import com.example.puremvc_appfacade.Runs.protocol.INotification;
import com.example.puremvc_appfacade.Runs.protocol.IObserver;

package com.example.puremvc_appfacade.Runs.observer;




/**
 * Created by dev_wang on 2017/1/23.
 */

public class Observer implements IObserver{
    private String Tag = this.getClass().getName();

    private Method method = null;
    private Object context = null;

    public static IObserver withNotifyMethod(Method method, Object context) {
        return new Observer(method, context);
    }

    public Observer(Method method, Object context) {
        this.method = method;
        this.context = context;
    }

    @Override
    public boolean comparedNotifyContext(Object context) {
        return this.context.equals(context);
    }

    @Override
    public void setNotifyContext(Object context) {
        this.context = context;
    }

    @Override
    public void setNotifyMethod(Method method) {
        this.method = method;
    }

    @Override
    public void notifyObserver(INotification notification) {