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