Class JsonSeriesFactory

java.lang.Object
com.inet.taskplanner.server.api.common.AbstractFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
com.inet.taskplanner.server.api.common.SeriesIndependentFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
com.inet.taskplanner.server.api.series.SeriesFactory<com.inet.taskplanner.server.api.series.json.JsonSeries>
com.inet.taskplanner.server.api.series.json.JsonSeriesFactory
All Implemented Interfaces:
com.inet.plugin.NamedExtension

public class JsonSeriesFactory extends SeriesFactory<com.inet.taskplanner.server.api.series.json.JsonSeries>
A series factory for managing the JsonSeries settings and instances.

Example usage:


TaskDefinition task = new TaskDefinition("mytask");
SeriesDefinition definition = new SeriesDefinition( JsonSeriesFactory.EXTENSION );
definition.setProperty( JsonSeriesFactory.PROPERTY_FILE, filepath );
task.setSeries( definition );

  • Field Details

  • Constructor Details

    • JsonSeriesFactory

      public JsonSeriesFactory()
      Create a new instance.
      Since:
      taskplanner 3.0
  • Method Details

    • getInformation

      public SeriesInfo getInformation(com.inet.id.GUID taskID)
      Returns an information object about components which can be produced with this factory.

      The returned info contains information about how such a component is to be presented in the Task Planner web GUI. This includes display information and available configuration options. The returned information contains fields that describe the values a user can specify in the web GUI. The fields are also responsible for replacing placeholders for the corresponding property in a serial task. That means properties without a field definition will not get any series placeholder replaced.

      If you implement a factory for a component used only through the API, you can return null here.

      Specified by:
      getInformation in class AbstractFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
      Parameters:
      taskID - the ID of the task the definition belongs or will belong to, for optional use. Can be null if the operation is done for a non-saved task.
      Returns:
      an information object for components this factory can produce
    • validate

      public void validate(SeriesDefinition definition, com.inet.id.GUID taskID) throws ValidationException
      Validate the given definition.

      The given definition is guaranteed to belong to this factory

      Specified by:
      validate in class SeriesIndependentFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
      Parameters:
      definition - the definition to validate
      taskID - the ID of the task the definition belongs or will belong to, for optional use. Can be null if the operation is done for a non-saved task.
      Throws:
      ValidationException - if the component has some errors
    • createInstanceFrom

      protected com.inet.taskplanner.server.api.series.json.JsonSeries createInstanceFrom(SeriesDefinition definition, com.inet.id.GUID taskID)
      Constructs a component (PRODUCT) from the given definition.
      Overrides:
      createInstanceFrom in class AbstractFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
      Parameters:
      definition - the definition holding information for the PRODUCT
      taskID - the ID of the task the definition belongs or will belong to, for optional use. Can be null if the operation is done for a non-saved task.
      Returns:
      a new PRODUCT
    • getSummary

      public SummaryInfo getSummary(SeriesDefinition definition)
      Constructs summary information for the component represented by the given definition.

      The summary information is used when the web GUI displays the component.

      When implementing a factory for a component to be used only through the API, you can return null here.

      Specified by:
      getSummary in class AbstractFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
      Parameters:
      definition - the definition with the settings made by a user
      Returns:
      summary information containing text lines to be displayed in the web GUI for this component.
    • isAvailable

      public boolean isAvailable()
      Whether the (COMPONENT) is available or not.
      Overrides:
      isAvailable in class AbstractFactory<com.inet.taskplanner.server.api.series.json.JsonSeries, SeriesDefinition, SeriesInfo, SummaryInfo>
      Returns:
      whether the (COMPONENT) is available or not