java.lang.Object
desmoj.core.simulator.NamedObject
desmoj.core.simulator.ModelComponent
desmoj.core.simulator.Schedulable
desmoj.core.simulator.Entity
de.rss.fachstudie.MiSim.entities.patterns.Pattern
Direct Known Subclasses:
InstanceOwnedPattern, ServiceOwnedPattern

public abstract class Pattern
extends desmoj.core.simulator.Entity
Author:
Lion Wagner
  • Field Summary

    Fields inherited from class desmoj.core.simulator.Schedulable

    _schedule
  • Constructor Summary

    Constructors
    Constructor Description
    Pattern​(desmoj.core.simulator.Model model, String s, boolean b)  
  • Method Summary

    Modifier and Type Method Description
    void initFields​(Map<String,​Object> arguments)
    Reflectively initializes all fields based on name and arguments.
    protected void onFieldInitCompleted()
    Can be implemented to do some custom initialization after the fields were injected
    abstract void shutdown()
    Will be called by the owning instance upon an unexpected shutdown (kill)

    Methods inherited from class desmoj.core.simulator.Entity

    clone, generateTraceForScheduling, getIdentNumber, getQueueingPriority, getQueues, getScheduledEvents, isEqual, isLarger, isLargerOrEqual, isNotEqual, isQueued, isSimProcess, isSmaller, isSmallerOrEqual, schedule, schedule, schedule, schedule, schedule, schedule, schedule, schedule, schedule, scheduleAfter, scheduleAfter, scheduleAfter, scheduleBefore, scheduleBefore, scheduleBefore, schedulePreempt, schedulePreempt, schedulePreempt, setQueueingPriority

    Methods inherited from class desmoj.core.simulator.Schedulable

    assignReporter, cancel, getCorrespondingReportable, isCurrent, isScheduled, rename, reSchedule, reSchedule, reSchedulePreempt, scheduledNext, setCorrespondingReportable

    Methods inherited from class desmoj.core.simulator.ModelComponent

    current, currentEntity, currentEntityAll, currentEvent, currentlySendDebugNotes, currentlySendTraceNotes, currentModel, currentSimProcess, debugIsOn, debugOff, debugOn, getModel, isExperimentCompatible, isModelCompatible, presentTime, sendDebugNote, sendMessage, sendTraceNote, sendWarning, skipTraceNote, skipTraceNote, traceIsOn, traceOff, traceOn

    Methods inherited from class desmoj.core.simulator.NamedObject

    getName, getQuotedName, toString

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Pattern

      public Pattern​(desmoj.core.simulator.Model model, String s, boolean b)
  • Method Details

    • initFields

      public final void initFields​(Map<String,​Object> arguments)
      Reflectively initializes all fields based on name and arguments.
      Fields marked as final will not be set properly. (In IntelliJ debugging they appear to be correct, but they are not!)
      However, they can be set to private.

      Mark fields that should be injected from with the FromJson annotation.

      Parameters:
      arguments - Map of arguments of name and value key-value pairs.
      See Also:
      FromJson
    • onFieldInitCompleted

      protected void onFieldInitCompleted()
      Can be implemented to do some custom initialization after the fields were injected
    • shutdown

      public abstract void shutdown()
      Will be called by the owning instance upon an unexpected shutdown (kill)