Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 Google Inc.
   * 
   * 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.
  */
 package elemental.js.util;
 
 
JavaScript native implementation of elemental.util.MapFromStringTo.
 
 public final class JsMapFromStringTo<V> extends JavaScriptObject implements MapFromStringTo<V> {

  
Create a new empty map instance.
 
   public static native <T> JsMapFromStringTo<T> create() /*-{
     return Object.create(null);
   }-*/;
 
   static native boolean hasKey(JavaScriptObject mapString key/*-{
     var p = @elemental.js.util.JsMapFromStringTo::propertyForKey(Ljava/lang/String;)(key);
     return map[p] !== undefined;
   }-*/;
 
   static native <T extends JavaScriptObject> T keys(JavaScriptObject object/*-{
     var data = [];
     for (var item in object) {
       if (object.hasOwnProperty(item)) {
         var key = @elemental.js.util.JsMapFromStringTo::keyForProperty(Ljava/lang/String;)(item);
         data.push(key);
       }
     }
     return data;
   }-*/;
 
   static native void remove(JavaScriptObject mapString key/*-{
     var p = @elemental.js.util.JsMapFromStringTo::propertyForKey(Ljava/lang/String;)(key);
     delete map[p];
   }-*/;
 
   static native <T extends JavaScriptObject> T values(JavaScriptObject object/*-{
     var data = [];
     for (var item in object) {
       if (object.hasOwnProperty(item)) {
         data.push(object[item]);
       }
     }
     return data;
   }-*/;
 
   @SuppressWarnings("unused"// Called from JSNI.
   private static String keyForProperty(String property) {
     return property;
   }
 
   @SuppressWarnings("unused"// Called from JSNI.
   private static String propertyForKey(String key) {
     assert key != null : "native maps do not allow null key values.";
     return key;
   }
 
   protected JsMapFromStringTo() {
   }
 
   public native V get(String key/*-{
     var p = @elemental.js.util.JsMapFromStringTo::propertyForKey(Ljava/lang/String;)(key);
     return this[p];
   }-*/;
 
   public boolean hasKey(String key) {
     return hasKey(thiskey);
   }
 
   public JsArrayOfString keys() {
     return keys(this);
   }
 
   public native void put(String key, V value/*-{
     var p = @elemental.js.util.JsMapFromStringTo::propertyForKey(Ljava/lang/String;)(key);
     this[p] = value;
   }-*/;
 
   public void remove(String key) {
     remove(thiskey);
   }
  public JsArrayOf<V> values() {
    return values(this);
  }
New to GrepCode? Check out our FAQ X