Class WellScheduler.Intervention

java.lang.Object
neqsim.process.util.fielddevelopment.WellScheduler.Intervention
All Implemented Interfaces:
Serializable, Comparable<WellScheduler.Intervention>
Enclosing class:
WellScheduler

public static final class WellScheduler.Intervention extends Object implements Serializable, Comparable<WellScheduler.Intervention>
Scheduled intervention record.

Represents a planned well intervention with timing, cost, and expected outcome information.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • wellName

      private final String wellName
    • type

      private final WellScheduler.InterventionType type
    • startDate

      private final LocalDate startDate
    • durationDays

      private final int durationDays
    • expectedProductionGain

      private final double expectedProductionGain
    • cost

      private final double cost
    • currency

      private final String currency
    • description

      private final String description
    • priority

      private final int priority
  • Constructor Details

  • Method Details

    • builder

      public static WellScheduler.Intervention.Builder builder(String wellName)
      Creates a new builder for an intervention.
      Parameters:
      wellName - name of the well for intervention
      Returns:
      new builder instance
    • getWellName

      public String getWellName()
      Gets the well name.
      Returns:
      well name
    • getType

      Gets the intervention type.
      Returns:
      intervention type
    • getStartDate

      public LocalDate getStartDate()
      Gets the scheduled start date.
      Returns:
      start date
    • getDurationDays

      public int getDurationDays()
      Gets the intervention duration in days.
      Returns:
      duration in days
    • getEndDate

      public LocalDate getEndDate()
      Gets the expected end date.
      Returns:
      end date (startDate + durationDays - 1)
    • getExpectedProductionGain

      public double getExpectedProductionGain()
      Gets the expected production gain as a fraction.
      Returns:
      production improvement fraction (e.g., 0.15 for 15% improvement)
    • getCost

      public double getCost()
      Gets the intervention cost.
      Returns:
      cost in specified currency
    • getCurrency

      public String getCurrency()
      Gets the currency for cost.
      Returns:
      currency code (e.g., "USD", "NOK")
    • getDescription

      public String getDescription()
      Gets the intervention description.
      Returns:
      description or null
    • getPriority

      public int getPriority()
      Gets the scheduling priority (lower = higher priority).
      Returns:
      priority value
    • overlaps

      public boolean overlaps(LocalDate rangeStart, LocalDate rangeEnd)
      Checks if the intervention overlaps with a date range.
      Parameters:
      rangeStart - start of date range
      rangeEnd - end of date range
      Returns:
      true if any overlap exists
    • isActiveOn

      public boolean isActiveOn(LocalDate date)
      Checks if the intervention is active on a specific date.
      Parameters:
      date - date to check
      Returns:
      true if intervention is ongoing on this date
    • compareTo

      public int compareTo(WellScheduler.Intervention other)
      Specified by:
      compareTo in interface Comparable<WellScheduler.Intervention>
    • toString

      public String toString()
      Overrides:
      toString in class Object