All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.ui.SingleComponentContainer Maven / Gradle / Ivy

There is a newer version: 8.27.3
Show newest version
/*
 * Copyright (C) 2000-2024 Vaadin Ltd
 *
 * This program is available under Vaadin Commercial License and Service Terms.
 *
 * See  for the full
 * 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.
     *
     */
    public void setContent(Component content);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy