marquez.db.models.ExtendedRunRow Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of marquez-api Show documentation
Show all versions of marquez-api Show documentation
Collect, aggregate, and visualize a data ecosystem's metadata
/*
* 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();
}
}