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

com.vaadin.data.PropertySet 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.data;

import java.io.Serializable;
import java.util.Optional;
import java.util.stream.Stream;

/**
 * Describes a set of properties that can be used for configuration based on
 * property names instead of setter and getter callbacks.
 *
 * @author Vaadin Ltd
 *
 * @since 8.0
 *
 * @param 
 *            the type for which the properties are defined
 */
public interface PropertySet extends Serializable {
    /**
     * Gets all known properties as a stream.
     *
     * @return a stream of property names, not null
     */
    public Stream> getProperties();

    /**
     * Gets the definition for the named property, or an empty optional if there
     * is no property with the given name.
     *
     * @param name
     *            the property name to look for, not null
     * @return the property definition, or empty optional if property doesn't
     *         exist
     */
    public Optional> getProperty(String name);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy