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
-
-
Field Summary
-
Method Summary
Modifier and Type Method Description booleancontainsJobClass(JobClass jobClass)Checks if this source has an arrival process configured for the specified job class. DistributiongetArrivalDistribution(JobClass jobClass)Gets the arrival distribution for a specific job class. final DistributiongetArrivalProcess(JobClass jobClass)Gets the arrival process distribution for a specific job class. SchedStrategygetSchedStrategy()Gets the scheduling strategy for this source node. voidprintSummary()Prints a summary of this node's configuration to the console. voidremoveArrivalProcess(JobClass jobClass)Removes the arrival process for a specific job class. voidsetArrival(JobClass jobClass, Object distribution)Sets the arrival distribution for a specific job class. voidsetArrivalProcess(ServiceBinding arrivalProcess)Sets the arrival process using a service binding. -
Methods inherited from class jline.lang.nodes.StatefulNode
clearState, getState, getStatePrior, getStateSpace, getStatefulIndex, resetStateSpace, setState, setState, setStatePrior, setStateSpace -
Methods inherited from class jline.lang.nodes.Node
getAttribute, getDropStrategy, getInput, getModel, getNodeIndex, getOutput, getOutputStrategies, getRoutingStrategy, getSections, getServer, getStatefulIdx, getStationIdx, isStateful, reset, resetRouting, setModel, setNodeIdx, setProbRouting, setRouting, setRouting, setStationIdx -
Methods inherited from class jline.lang.nodes.Station
getCap, getClassCap, getDropRule, getLimitedClassDependence, getLimitedLoadDependence, getNumberOfServers, getPatience, getPatienceLocal, getPatienceType, getPatienceTypeLocal, getServiceRates, getSourceRates, getSwitchoverTime, hasPatience, hasPatienceLocal, hasSwitchoverTime, isReferenceStation, isServiceDefined, isServiceDefined, isServiceDisabled, isServiceDisabled, setCap, setCapacity, setChainCapacity, setClassCap, setDropRule, setLimitedClassDependence, setLimitedLoadDependence, setNumberOfServers, setPatience, setPatience, setSwitchoverTime -
Methods inherited from class jline.lang.nodes.ServiceNode
getServiceProcess, setService, setService -
Methods inherited from class jline.lang.Element
getName, setName -
Methods inherited from class jline.lang.Copyable
copy -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
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, Object distribution)
Sets the arrival distribution for a specific job class. If distribution is null or Disabled, sets class capacity to 0. If a Workflow is provided, it will be converted to a PH distribution.
- Parameters:
jobClass- the job class to configuredistribution- the arrival distribution or workflow 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
-
-
-
-