summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/annotations
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2014-12-16 15:22:28 +0200
committerVaadin Code Review <review@vaadin.com>2014-12-17 11:48:06 +0000
commitbd5536edb51e67e6941ddd418c0fb2793ea00abf (patch)
tree14abe9ab2a16263e173213355ec3dac6305ffa82 /server/src/com/vaadin/annotations
parent272711e6f7eed94d933380599cb434a5cfe38f00 (diff)
downloadvaadin-framework-bd5536edb51e67e6941ddd418c0fb2793ea00abf.tar.gz
vaadin-framework-bd5536edb51e67e6941ddd418c0fb2793ea00abf.zip
Add viewport tag generation support (#13710)
Change-Id: Ic38f640e44b91b4a1e1e906ab92a751d7a13ee65
Diffstat (limited to 'server/src/com/vaadin/annotations')
-rw-r--r--server/src/com/vaadin/annotations/Viewport.java45
-rw-r--r--server/src/com/vaadin/annotations/ViewportGeneratorClass.java52
2 files changed, 97 insertions, 0 deletions
diff --git a/server/src/com/vaadin/annotations/Viewport.java b/server/src/com/vaadin/annotations/Viewport.java
new file mode 100644
index 0000000000..67acae8c23
--- /dev/null
+++ b/server/src/com/vaadin/annotations/Viewport.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2000-2014 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.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Defines a viewport tag that will be added to the HTML of the host page of a
+ * UI class.
+ * <p>
+ * If you want to dynamically provide different viewport values for different
+ * browser, you should use {@link ViewportGeneratorClass} instead.
+ *
+ * @author Vaadin Ltd
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Inherited
+@Documented
+public @interface Viewport {
+ /**
+ * Gets the viewport tag content.
+ *
+ * @return the viewport tag content
+ */
+ public String value();
+}
diff --git a/server/src/com/vaadin/annotations/ViewportGeneratorClass.java b/server/src/com/vaadin/annotations/ViewportGeneratorClass.java
new file mode 100644
index 0000000000..7565ad7bae
--- /dev/null
+++ b/server/src/com/vaadin/annotations/ViewportGeneratorClass.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2000-2014 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.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import com.vaadin.server.ViewportGenerator;
+
+/**
+ * Defines a viewport tag generator class that will be used for generating the
+ * content of a viewport tag that will be added to the HTML of the host page of
+ * a UI class.
+ * <p>
+ * If you want to use the same viewport values for all requests, you can use the
+ * simpler {@link Viewport} annotation instead.
+ *
+ * @see ViewportGenerator
+ *
+ * @author Vaadin Ltd
+ */
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Inherited
+@Documented
+public @interface ViewportGeneratorClass {
+ /**
+ * Gets the viewport generator class to use. Please note that the class must
+ * be public and have a default constructor. It must additionally be
+ * declared as static if it's declared as an inner class.
+ *
+ * @return the viewport generator class
+ */
+ public Class<? extends ViewportGenerator> value();
+}