blob: 2a103753e02597e63ca664cf2fc99556cf57de09 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2021 the Eclipse BaSyx Authors
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
******************************************************************************/
package org.eclipse.basyx.aas.aggregator.api;
import java.util.Collection;
import org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell;
import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier;
import org.eclipse.basyx.vab.exception.provider.ResourceNotFoundException;
import org.eclipse.basyx.vab.modelprovider.api.IModelProvider;
/**
* Interface for the Asset Administration Shell Aggregator API <br />
* It is used to manage multiple AASs at the same endpoint
*
* @author conradi
*
*/
public interface IAASAggregator {
/**
* Retrieves all Asset Administration Shells from the endpoint
*
* @return a List of all found Asset Administration Shells
*/
public Collection<IAssetAdministrationShell> getAASList();
/**
* Retrieves a specific Asset Administration Shell
*
* @param aasId the ID of the AAS
* @return the requested AAS
*/
public IAssetAdministrationShell getAAS(IIdentifier aasId) throws ResourceNotFoundException;
/**
* Retrieves the provider for a specific Asset Administration Shell
*
* @param aasId the ID of the AAS
* @return the requested AAS provider
*/
public IModelProvider getAASProvider(IIdentifier aasId) throws ResourceNotFoundException;
/**
* Creates a new Asset Administration Shell at the endpoint
*
* @param aas the AAS to be created
*/
public void createAAS(AssetAdministrationShell aas);
/**
* Updates a specific Asset Administration Shell
*
* @param aas the updated AAS
*/
public void updateAAS(AssetAdministrationShell aas) throws ResourceNotFoundException;
/**
* Deletes a specific Asset Administration Shell
*
* @param aasId the ID of the AAS to be deleted
*/
public void deleteAAS(IIdentifier aasId);
}