Interface MechanicalDesignDataSource

All Known Implementing Classes:
CsvMechanicalDesignDataSource, DatabaseMechanicalDesignDataSource, StandardBasedCsvDataSource

public interface MechanicalDesignDataSource
Data source used to supply mechanical design limits for process equipment.

Implementations can load data from various sources including:

  • CSV files with company/standard specifications
  • Database tables
  • API endpoints
  • Configuration files
Version:
1.1
Author:
esol
  • Method Details

    • getDesignLimits

      Optional<DesignLimitData> getDesignLimits(String equipmentTypeName, String companyIdentifier)
      Retrieve design limit data for a given equipment type and company identifier.
      Parameters:
      equipmentTypeName - canonical equipment type identifier (e.g. "Pipeline").
      companyIdentifier - company specific design code identifier.
      Returns:
      optional design limit data if available.
    • getDesignLimitsByStandard

      default Optional<DesignLimitData> getDesignLimitsByStandard(String standardCode, String version, String equipmentTypeName)
      Retrieve design limit data for a given equipment type based on an international standard.

      This method allows looking up design limits by standard code (e.g., "NORSOK-L-001") rather than company identifier.

      Parameters:
      standardCode - the international standard code (e.g., "NORSOK-L-001", "ASME-VIII-Div1")
      version - the standard version (e.g., "Rev 6", "2021"), null for default
      equipmentTypeName - canonical equipment type identifier
      Returns:
      optional design limit data if available
    • getAvailableStandards

      default List<String> getAvailableStandards(String equipmentTypeName)
      Get a list of available standards in this data source.
      Parameters:
      equipmentTypeName - the equipment type to filter by (null for all)
      Returns:
      list of standard codes available
    • getAvailableVersions

      default List<String> getAvailableVersions(String standardCode)
      Get a list of available versions for a given standard.
      Parameters:
      standardCode - the standard code to query
      Returns:
      list of available versions
    • hasStandard

      default boolean hasStandard(String standardCode)
      Check if this data source contains data for a specific standard.
      Parameters:
      standardCode - the standard code to check
      Returns:
      true if data is available for this standard