java.lang.Object
org.palladiosimulator.dataflow.confidentiality.analysis.builder.AbstractDataFlowAnalysisBuilder<T,D,E>
Type Parameters:
T - Type of the Analysis that is returned by the builder
D - Type of the Data that is saved in the builder
E - Expected Data from which the builder can be created
Direct Known Subclasses:
DataFlowAnalysisBuilder, PCMDataFlowConfidentialityAnalysisBuilder

public abstract class AbstractDataFlowAnalysisBuilder<T extends DataFlowConfidentialityAnalysis,D extends AnalysisBuilderData,E extends AnalysisBuilderData> extends Object
An abstract builder for a data flow analysis. Implementation of the builder are responsible for the following - Creation of the Analysis - Validating the builder data - Allowing creation of the builder with expected builder data
  • Field Details

  • Constructor Details

    • AbstractDataFlowAnalysisBuilder

      public AbstractDataFlowAnalysisBuilder(D builderData)
      Creates a new builder with the given builder data
      Parameters:
      builderData - Initial builder data
  • Method Details

    • copyBuilderData

      public abstract void copyBuilderData(E builderData)
      Copies the given expected builder data into the builder
      Parameters:
      builderData - Expected builder data
    • validateBuilderData

      public abstract void validateBuilderData()
      Check the builder data that is saved in the builder

      Checking the builder data is left to the implementation. It may call checkBuilderData() of previous builders

    • build

      public abstract T build()
      Builds the analysis with the given builder data
      Returns:
      Returns new analysis with the given data
    • useBuilder

      public <B extends AbstractDataFlowAnalysisBuilder<?, ?, D>> B useBuilder(B builder)
      Uses the given builder to build a subtype of the data flow analysis
      Type Parameters:
      B - Builder class that is used
      Parameters:
      builder - Instance of the builder object that should be used
      Returns:
      Returns the builder object of the given builder
    • getBuilderData

      public D getBuilderData()
      Returns the saved builder data of the builder
      Returns:
      Saved builder data