001/*
002 * To change this license header, choose License Headers in Project Properties.
003 * To change this template file, choose Tools | Templates
004 * and open the template in the editor.
005 */
006package gwt.material.design.jscore.client.api;
007
008import jsinterop.annotations.JsProperty;
009import jsinterop.annotations.JsType;
010
011/**
012 * obj The object to be observed. callback The function called each time changes
013 * are made, with the following argument: changes An array of objects each
014 * representing a change. The properties of these change objects are: name: The
015 * name of the property which was changed. object: The changed object after the
016 * change was made. type: A string indicating the type of change taking place.
017 * One of "add", "update", or "delete". oldValue: Only for "update" and "delete"
018 * types. The value before the change. acceptList The list of types of changes
019 * to be observed on the given object for the given callback. If omitted, the
020 * array ["add", "update", "delete", "reconfigure", "setPrototype",
021 * "preventExtensions"] will be used.
022 *
023 * @author Cristian Rinaldi
024 * @param <T>
025 */
026@JsType
027public class Changed<T>{
028
029    @JsProperty
030    public native String getName();
031
032    @JsProperty
033    public native T getObject();
034
035    @JsProperty
036    public native String getType();
037}