/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.model.endpoint.api; import java.util.Set; import de.rcenvironment.core.datamodel.api.EndpointType; /** * Provides all {@link EndpointDefinition} of one {@link EndpointType} of a component. * * @author Doreen Seider */ public interface EndpointDefinitionsProvider { /** * @return all static {@link EndpointDefinition}s */ Set<EndpointDefinition> getStaticEndpointDefinitions(); /** * @param name name of static {@link EndpointDefinition} to get * @return {@link EndpointDefinition} with given name */ EndpointDefinition getStaticEndpointDefinition(String name); /** * @return all dynamic {@link EndpointDefinition}s */ Set<EndpointDefinition> getDynamicEndpointDefinitions(); /** * @param id identifier of dynamic {@link EndpointDefinition} to get * @return {@link EndpointDefinition} with given id */ EndpointDefinition getDynamicEndpointDefinition(String id); /** * @return set of dynamic {@link EndpointGroupDefinition}s */ Set<EndpointGroupDefinition> getDynamicEndpointGroupDefinitions(); /** * @return set of static {@link EndpointGroupDefinition}s */ Set<EndpointGroupDefinition> getStaticEndpointGroupDefinitions(); /** * @param name name of the dynamic endpoint group * @return {@link EndpointGroupDefinition} with given group name or <code>null</code> if there is none */ EndpointGroupDefinition getDynamicEndpointGroupDefinition(String name); }