All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.gwt.maps.client.mvc.MVCObject Maven / Gradle / Ivy

There is a newer version: 3.10.0-alpha-7
Show newest version
package com.google.gwt.maps.client.mvc;

/*
 * #%L
 * GWT Maps API V3 - Core API
 * %%
 * Copyright (C) 2011 - 2012 GWT Maps API V3
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import java.util.HashMap;

import com.google.gwt.core.client.JavaScriptObject;

/**
 * Base class implementing KVO. 
*
* See MVCObject API Doc */ public class MVCObject extends JavaScriptObject { /** * Base class implementing KVO. use newInstance(); */ protected MVCObject() { } /** * (Main purpose is for internal use only)
* create instance of MVCObject (inherited class) */ public final static MVCObject createInstanceOfMVCObject() { return createJsoMvcObject().cast(); } /** * Binds a View to a Model. */ private final static native JavaScriptObject createJsoMvcObject() /*-{ return $wnd.google.maps.MVCObject(); }-*/; /** * Binds a View to a Model. * * @param key * @param target */ public final native void bindTo(String key, MVCObject target) /*-{ this.bindTo(key, target); }-*/; /** * Binds a View to a Model. * * @param key * @param target * @param targetKey */ public final native void bindTo(String key, MVCObject target, String targetKey) /*-{ this.bindTo(key, target, targetKey); }-*/; /** * Binds a View to a Model. * * @param key * @param target * @param targetKey * @param noNotify */ public final native void bindTo(String key, MVCObject target, String targetKey, boolean noNotify) /*-{ this.bindTo(key, target, targetKey, noNotify); }-*/; /** * Generic handler for state changes. Override this in derived classes to handle arbitrary state changes. * * @param key */ public final native void changed(String key) /*-{ this.changed(key); }-*/; /** * Gets a value. * * @param key */ public final native T get(String key) /*-{ return this.get(key); }-*/; /** * Notify all observers of a change on this property. This notifies both objects that are bound to the object's * property as well as the object that it is bound to. * * @param key */ public final native void notify(String key) /*-{ this.notify(key); }-*/; /** * Sets a value. * * @param key * @param value */ public final native void set(String key, T value) /*-{ this.set(key, value); }-*/; /** * Sets a collection of key-value pairs. * * @param values */ public final native void setValues(HashMap values) /*-{ this.setValues(values); }-*/; /** * Removes a binding. Unbinding will set the unbound property to the current value. The object will not be notified, * as the value has not changed. * * @param key */ public final native void unbind(String key) /*-{ this.unbind(key); }-*/; /** * Removes all bindings. */ public final native void unbindAll() /*-{ this.unbindAll(); }-*/; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy