Revision: 8246
Author: b...@google.com
Date: Mon Jun 14 05:46:15 2010
Log: Part 1 of reimplementing DevMode JSO implementation to remove the need for global state.
Add SingleJsoImpl annotation
http://gwt-code-reviews.appspot.com/473801
Patch by: bobv
Review by: scottb

http://code.google.com/p/google-web-toolkit/source/detail?r=8246

Added:
 /trunk/user/src/com/google/gwt/core/client/SingleJsoImpl.java
 /trunk/user/src/com/google/gwt/core/client/SingleJsoImplName.java

=======================================
--- /dev/null
+++ /trunk/user/src/com/google/gwt/core/client/SingleJsoImpl.java Mon Jun 14 05:46:15 2010
@@ -0,0 +1,36 @@
+/*
+ * 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 com.google.gwt.core.client;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * This annotation may be placed on an interface to declare the single
+ * JavaScriptObject type that implements the interface. While it is not strictly + * necessary to use this annotation when declaring JSO subtypes that implement + * an interface, this annotation allows a developer to ensure that a specific
+ * JSO implementation will always be used.
+ */
+...@documented
+...@retention(RetentionPolicy.RUNTIME)
+...@target(ElementType.TYPE)
+public @interface SingleJsoImpl {
+  Class<? extends JavaScriptObject> value();
+}
=======================================
--- /dev/null
+++ /trunk/user/src/com/google/gwt/core/client/SingleJsoImplName.java Mon Jun 14 05:46:15 2010
@@ -0,0 +1,40 @@
+/*
+ * 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 com.google.gwt.core.client;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * This annotation may be placed on an interface to name the single
+ * JavaScriptObject type that implements the interface. This annotation may be
+ * used in place of {...@link SingleJsoImpl} if the JSO implementation is not
+ * normally available, perhaps because it is created during a build process.
+ *
+ * @see SingleJsoImpl
+ */
+...@documented
+...@retention(RetentionPolicy.RUNTIME)
+...@target(ElementType.TYPE)
+public @interface SingleJsoImplName {
+  /**
+   * The binary name of the type that implements the interface at runtime.
+   */
+  String value();
+}

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to