All Downloads are FREE. Search and download functionalities are using the official Maven repository.

marquez.db.models.ExtendedRunRow Maven / Gradle / Ivy

There is a newer version: 0.49.0
Show newest version
/*
 * Copyright 2018-2023 contributors to the Marquez project
 * SPDX-License-Identifier: Apache-2.0
 */

package marquez.db.models;

import java.time.Instant;
import java.util.List;
import java.util.UUID;
import javax.annotation.Nullable;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NonNull;
import lombok.ToString;
import marquez.common.models.DatasetVersionId;

@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ExtendedRunRow extends RunRow {
  @Getter @NonNull private final List inputVersions;
  @Getter @NonNull private final List outputVersions;
  @Getter private final String namespaceName;
  @Getter private final String jobName;
  @Getter private final String args;
  @Getter private final String externalId;

  public ExtendedRunRow(
      final UUID uuid,
      final Instant createdAt,
      final Instant updatedAt,
      final UUID jobUuid,
      @Nullable final UUID jobVersionUuid,
      @Nullable final UUID parentRunUuid,
      final UUID runArgsUuid,
      final String externalId,
      final List inputVersions,
      final List outputVersions,
      @Nullable final Instant nominalStartTime,
      @Nullable final Instant nominalEndTime,
      @Nullable final String currentRunState,
      @Nullable final Instant startedAt,
      @Nullable final UUID startRunStateUuid,
      @Nullable final Instant endedAt,
      @Nullable final UUID endRunStateUuid,
      @NonNull final String args,
      @NonNull final String namespaceName,
      @NonNull final String jobName) {
    super(
        uuid,
        createdAt,
        updatedAt,
        jobUuid,
        jobVersionUuid,
        parentRunUuid,
        runArgsUuid,
        nominalStartTime,
        nominalEndTime,
        currentRunState,
        startedAt,
        startRunStateUuid,
        endedAt,
        endRunStateUuid,
        jobName,
        namespaceName);
    this.inputVersions = inputVersions;
    this.outputVersions = outputVersions;
    this.args = args;
    this.jobName = jobName;
    this.namespaceName = namespaceName;
    this.externalId = externalId;
  }

  public boolean hasInputVersionUuids() {
    return !inputVersions.isEmpty();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy