123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * Copyright 2011 Vaadin Ltd.
- *
- * 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 com.vaadin.terminal.gwt.client;
-
- import com.google.gwt.core.client.JavaScriptObject;
- import com.google.gwt.core.client.JsArrayString;
-
- public final class FastStringSet extends JavaScriptObject {
- protected FastStringSet() {
- // JSO constructor
- }
-
- public native boolean contains(String string)
- /*-{
- return this.hasOwnProperty(string);
- }-*/;
-
- public native void add(String string)
- /*-{
- this[string] = true;
- }-*/;
-
- public native void addAll(JsArrayString array)
- /*-{
- for(var i = 0; i < array.length; i++) {
- this[array[i]] = true;
- }
- }-*/;
-
- public native JsArrayString dump()
- /*-{
- var array = [];
- for(var string in this) {
- if (this.hasOwnProperty(string)) {
- array.push(string);
- }
- }
- return array;
- }-*/;
-
- public native void remove(String string)
- /*-{
- delete this[string];
- }-*/;
-
- public native boolean isEmpty()
- /*-{
- for(var string in this) {
- if (this.hasOwnProperty(string)) {
- return false;
- }
- }
- return true;
- }-*/;
-
- public static FastStringSet create() {
- return JavaScriptObject.createObject().cast();
- }
- }
|