from datetime import datetime

class TaskOutcome:
    def __init__(self, required_workload_in_percent, runtime, tries, count, diff, diff_factor, actual_date, heat_demand_per_minute, actual_heat_generated, hostname: str, username: str):
        self.required_workload_in_percent:float = required_workload_in_percent
        self.runtime: float = runtime
        self.tries: int = tries
        self.count: int = count
        self.diff: float = diff
        self.diff_factor: float = diff_factor
        self.actual_date: datetime = actual_date
        self.heat_demand_per_minute: float = heat_demand_per_minute
        self.actual_heat_generated: float = actual_heat_generated
        self.hostname: str = hostname
        self.username: str = username

    def get_required_workload_in_percent(self) -> float:
        return self.required_workload_in_percent
    
    def get_runtime(self) -> float:
        return self.runtime
    
    def get_tries(self) -> int:
        return self.tries
    
    def get_count(self) -> int:
        return self.count
    
    def get_diff(self) -> float:
        return self.diff
    
    def get_diff_factor(self) -> float:
        return self. diff_factor
    
    def get_actual_date(self) -> datetime:
        return self.actual_date
    
    def get_heat_demand_per_minute(self) -> float:
        return self.heat_demand_per_minute
    
    def get_actual_heat_generated(self) -> float:
        return self.actual_heat_generated
    
    def get_hostname(self) -> str:
        return self.hostname
    
    def get_username(self) -> str:
        return self.username
    