Interface Viewer

All Known Subinterfaces:
App
All Known Implementing Classes:
AbstractDemo, AbstractDeviceViewer, AbstractSimulationDemo, AbstractViewer, ArchitecturalSystemViewer, ArchitectureStabilityDemo, ArtsColorTheoryDemo, ArtsColorTheoryViewer, AudioViewer, AudioViewerDemo, BioMotionDemo, BioMotionViewer, CarTrafficDemo, CentrifugeViewer, ChemicalKineticsDemo, ChemicalReactionDemo, ChemicalReactionViewer, ChemicalStudio, CircuitSimulatorDemo, CircuitSimulatorViewer, CivilizationApp, ClothSimulationDemo, CrystalStructureApp, CSGDemo, CSGViewer, DecisionArchitectureViewer, DemographicProfileViewer, DigitalLogicDemo, DigitalLogicViewer, DistributedClimateSimApp, DistributedCrisprApp, DistributedDataLakeApp, DistributedDnaFoldingApp, DistributedFluidSimApp, DistributedGridMonitorApp, DistributedMandelbrotApp, DistributedMolecularDynamicsApp, DistributedMonteCarloPiApp, DistributedNBodyApp, DistributedProteinFoldingApp, DistributedWaveSimApp, DistributedWhiteboardApp, DistributionsDemo, DistributionsViewer, EarthquakeDemo, EarthquakeMapViewer, EconomicsGDPDemo, EconomicsMarketDemo, EvolutionTrajectoryViewer, FeaturedAppBase, FinancialPortfolioViewer, FluidDynamicsDemo, FormulaNotationDemo, FormulaNotationViewer, FunctionExplorer2D3DDemo, FunctionExplorer2DViewer, FunctionExplorer3DViewer, GalaxyDemo, GaltonBoardDemo, GameOfLifeDemo, GeneticAlgorithmDemo, GeneticsDemo, GeneticsViewer, GeographyGISDemo, GeometryBoardDemo, GeometryBoardViewer, GeoscienceVoxelDemo, GlobalStabilityStudio, GraphViewer, HistoryTimelineDemo, HumanBodyDemo, HumanBodyViewer, InterplanetaryTrajectoryDemo, KnowledgeNavigatorDemo, KnowledgeNavigatorViewer, KurzweilDemo, LifeScienceStudio, LinguisticMetricViewer, LinguisticsWordFreqDemo, LorenzDemo, LorenzDemo, LorenzViewer, LotkaVolterraDemo, LotkaVolterraViewer, LSystemDemo, LSystemViewer, MagneticFieldDemo, MagneticFieldViewer, MandelbrotDemo, MandelbrotViewer, MapViewer, MapViewer, MarketCrashApp, MatrixDemo, MatrixViewer, MechanicsDemo, MedicineVoxelDemo, MetamathDemo, MetamathViewer, MicroscopeViewer, MolecularViewer, MolecularViewerDemo, MultimeterViewer, NetworkDynamicsViewer, NewtonianMechanicsLabDemo, OscilloscopeViewer, PandemicForecasterApp, PeriodicTableDemo, PeriodicTableViewer, PeripheralsDemo, PHMeterViewer, PhylogeneticTreeDemo, PhylogeneticTreeViewer, PoliticsVotingDemo, PressureGaugeViewer, PsychologyReactionTestDemo, QuantumCircuitApp, QuantumCircuitDemo, QuantumCircuitViewer, ReactionKineticsViewer, RelativisticFlightDemo, ResistorColorCodeDemo, ResistorColorCodeViewer, RigidBodyDemo, RigidBodyViewer, ScienceBrowser, ScientificProcessViewer, SequenceAlignmentDemo, SmartGridApp, SociologyNetworkDemo, SolenoidMagneticFieldDemo, SpatialFluxViewer, SpeciesBrowserDemo, SpeciesBrowserViewer, SpectrometerViewer, SpinValveApp, SportsResultsDemo, SportsResultsViewer, StarSystemDemo, StarSystemViewer, StellarSkyDemo, StellarSkyViewer, TelescopeViewer, ThermodynamicsDemo, ThermometerViewer, TimelineViewer, TitrationApp, UnitConverterDemo, UnitConverterViewer, VitalMonitorViewer, VotingMachineViewer, VoxelViewer, VoxelVolumeDemo

public interface Viewer
Base provider interface for all UI components (Viewers, Demos, Apps). All methods are abstract and must be overridden by implementations.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • getCategory

      String getCategory()
      Returns the category for grouping (e.g., "Chemistry", "Physics"). Must be internationalized via I18N.
      Returns:
      the category name
    • getName

      String getName()
      Returns the display name of the viewer/demo. Must be internationalized via I18N.
      Returns:
      the display name
    • getDescription

      String getDescription()
      Returns a short description (1-2 lines). Must be internationalized via I18N.
      Returns:
      the short description
    • getLongDescription

      String getLongDescription()
      Returns a long description (multi-line, detailed explanation). Must be internationalized via I18N.
      Returns:
      the long description
    • show

      void show(javafx.stage.Stage stage)
      Launches the component in the given stage.
      Parameters:
      stage - the JavaFX stage to display the component
    • getViewerParameters

      List<Parameter<?>> getViewerParameters()
      Returns a list of parameters exposed by this viewer. Parameters allow external control and configuration.
      Returns:
      list of configurable parameters
    • setParameter

      default boolean setParameter(String parameterName, Object value)
      Sets a parameter value by name. This allows external control of viewer parameters (e.g., from a Demo).
      Parameters:
      parameterName - the parameter name/key
      value - the new value
      Returns:
      true if the parameter was found and set, false otherwise
    • getParameter

      default Parameter<?> getParameter(String parameterName)
      Gets a parameter by name.
      Parameters:
      parameterName - the parameter name/key
      Returns:
      the parameter, or null if not found