summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui/SingleComponentContainer.java
diff options
context:
space:
mode:
authorHenri Sara <hesara@vaadin.com>2012-11-13 18:08:29 +0200
committerArtur Signell <artur@vaadin.com>2012-11-13 18:18:40 +0200
commit391884746fda1781c55b13bc200dd75373f69141 (patch)
tree0d5a8dcd9d13c5c39813d81252506e12d72741af /server/src/com/vaadin/ui/SingleComponentContainer.java
parent4628bcc3062ef19ed9d561f79fe3bfb3696d6e04 (diff)
downloadvaadin-framework-391884746fda1781c55b13bc200dd75373f69141.tar.gz
vaadin-framework-391884746fda1781c55b13bc200dd75373f69141.zip
UI based on AbstractBasicComponentContainer (#2924)
Change-Id: I1614a3464b8e7a0e9ecdd8c3a76335cdb85bdf87
Diffstat (limited to 'server/src/com/vaadin/ui/SingleComponentContainer.java')
-rw-r--r--server/src/com/vaadin/ui/SingleComponentContainer.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/SingleComponentContainer.java b/server/src/com/vaadin/ui/SingleComponentContainer.java
new file mode 100644
index 0000000000..deb647e5eb
--- /dev/null
+++ b/server/src/com/vaadin/ui/SingleComponentContainer.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2012 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.ui;
+
+import com.vaadin.ui.HasComponents.ComponentAttachDetachNotifier;
+
+/**
+ * Interface for component containers that have one child component and do not
+ * support adding or removing components.
+ *
+ * For component containers that support multiple children, see
+ * {@link ComponentContainer} instead.
+ *
+ * @since 7.0
+ */
+public interface SingleComponentContainer extends HasComponents,
+ ComponentAttachDetachNotifier {
+
+ /**
+ * Gets the number of children this {@link SingleComponentContainer} has.
+ * This must be symmetric with what {@link #iterator()} returns and thus
+ * typically return 1 if the content is set, 0 otherwise.
+ *
+ * @return The number of child components this container has.
+ */
+ public int getComponentCount();
+
+ /**
+ * Gets the content of this container. The content is a component that
+ * serves as the outermost item of the visual contents.
+ *
+ * @return a component to use as content
+ *
+ * @see #setContent(Component)
+ */
+ public Component getContent();
+
+ /**
+ * Sets the content of this container. The content is a component that
+ * serves as the outermost item of the visual contents.
+ *
+ * The content should always be set, either as a constructor parameter or by
+ * calling this method.
+ *
+ * @return a component (typically a layout) to use as content
+ */
+ public void setContent(Component content);
+
+}