Class Source

  • All Implemented Interfaces:
    java.io.Serializable , jline.lang.Copyable

    
    public class Source
    extends Station implements Serializable
                        

    An abstraction of the external world jobs in open classes come from

    • Constructor Detail

      • Source

        Source(Network model, String name)
        Creates a new source node in the specified network.
        Parameters:
        model - the network model to add this source to
        name - the name for this source node
    • Method Detail

      • containsJobClass

         boolean containsJobClass(JobClass jobClass)

        Checks if this source has an arrival process configured for the specified job class.

        Parameters:
        jobClass - the job class to check
        Returns:

        true if an arrival process exists for this job class, false otherwise

      • getArrivalDistribution

         Distribution getArrivalDistribution(JobClass jobClass)

        Gets the arrival distribution for a specific job class.

        Parameters:
        jobClass - the job class to query
        Returns:

        the arrival distribution, or Disabled if none configured

      • getArrivalProcess

         final Distribution getArrivalProcess(JobClass jobClass)

        Gets the arrival process distribution for a specific job class. This is an alias for getArrivalDistribution.

        Parameters:
        jobClass - the job class to query
        Returns:

        the arrival distribution, or Disabled if none configured

      • getSchedStrategy

         SchedStrategy getSchedStrategy()

        Gets the scheduling strategy for this source node. Sources always use EXT (external) scheduling strategy.

        Returns:

        the scheduling strategy (always SchedStrategy.EXT)

      • printSummary

         void printSummary()

        Prints a summary of this node's configuration to the console.

      • removeArrivalProcess

         void removeArrivalProcess(JobClass jobClass)

        Removes the arrival process for a specific job class.

        Parameters:
        jobClass - the job class whose arrival process should be removed
      • setArrival

         void setArrival(JobClass jobClass, Distribution distribution)

        Sets the arrival distribution for a specific job class. If distribution is null or Disabled, sets class capacity to 0.

        Parameters:
        jobClass - the job class to configure
        distribution - the arrival distribution to set
      • setArrivalProcess

         void setArrivalProcess(ServiceBinding arrivalProcess)

        Sets the arrival process using a service binding. Removes any existing arrival process for the same job class.

        Parameters:
        arrivalProcess - the service binding defining the arrival process