GWT: глобальные типы наложения JavaScript - PullRequest
0 голосов
/ 20 февраля 2012

С учетом производительности, как бы вы сохранили несколько типов наложений для всего вашего приложения GWT, которое можно использовать по запросу?

1 Ответ

1 голос
/ 20 февраля 2012

Если я правильно понимаю, вы хотите сослаться на тип наложения из любого места в вашем приложении.В этом случае рассмотрите возможность создания переменной public static.

Например, допустим, у нас есть тип оверлея JavaScript с именем Book.Внутри него мы можем создать статическую переменную для хранения нашего глобального экземпляра.

public class Book extends JavaScriptObject {
   public static Book instance; // The global

   protected Book(){}

   public final native String getName()/*-{ 
      return this.name; 
   }-*/;

   public final native void setName(String name)/*-{
      this.name = name; 
   }-*/;
}

Затем мы ссылаемся на нее откуда угодно:

Book.instance = (Book) JavaScriptObject.createObject();
Book.instance.setName("How I Sailed the Seven Seas");
GWT.log( Book.instance.getName() );

По правдеВот как любая «глобальная» переменная работает в Java.Типы наложения работают одинаково!

Обратите внимание, что никакой магии не происходит, если поместить instance внутри класса Book.Вы можете очень легко сделать то же самое:

public class FooBar{
   public static Book global_book;
}

и позже:

FooBar.global_book.setName("My Biography")
...