/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.nifi.web.api.dto.provenance.lineage; import com.wordnik.swagger.annotations.ApiModelProperty; import java.util.Date; import java.util.List; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.apache.nifi.web.api.dto.util.TimestampAdapter; /** * A node within a provenance lineage. May represent either an event or a flowfile. */ @XmlType(name = "provenanceNode") public class ProvenanceNodeDTO { private String id; private String flowFileUuid; private List<String> parentUuids; private List<String> childUuids; private String clusterNodeIdentifier; private String type; private String eventType; private Long millis; private Date timestamp; /** * @return id of the node */ @ApiModelProperty( value = "The id of the node." ) public String getId() { return id; } public void setId(String id) { this.id = id; } /** * @return flowfile uuid for this provenance event */ @ApiModelProperty( value = "The uuid of the flowfile associated with the provenance event." ) public String getFlowFileUuid() { return flowFileUuid; } public void setFlowFileUuid(String flowFileUuid) { this.flowFileUuid = flowFileUuid; } /** * @return parent flowfile uuids for this provenance event */ @ApiModelProperty( value = "The uuid of the parent flowfiles of the provenance event." ) public List<String> getParentUuids() { return parentUuids; } public void setParentUuids(List<String> parentUuids) { this.parentUuids = parentUuids; } /** * @return child flowfile uuids for this provenance event */ @ApiModelProperty( value = "The uuid of the childrent flowfiles of the provenance event." ) public List<String> getChildUuids() { return childUuids; } public void setChildUuids(List<String> childUuids) { this.childUuids = childUuids; } /** * @return node identifier that this event/flowfile originated from */ @ApiModelProperty( value = "The identifier of the node that this event/flowfile originated from." ) public String getClusterNodeIdentifier() { return clusterNodeIdentifier; } public void setClusterNodeIdentifier(String clusterNodeIdentifier) { this.clusterNodeIdentifier = clusterNodeIdentifier; } /** * @return type of node */ @ApiModelProperty( value = "The type of the node.", allowableValues = "FLOWFILE, EVENT" ) public String getType() { return type; } public void setType(String type) { this.type = type; } /** * @return this is an event node, this is the type of event */ @ApiModelProperty( value = "If the type is EVENT, this is the type of event." ) public String getEventType() { return eventType; } public void setEventType(String eventType) { this.eventType = eventType; } /** * @return timestamp of this node */ @XmlJavaTypeAdapter(TimestampAdapter.class) @ApiModelProperty( value = "The timestamp of the node formatted.", dataType = "string" ) public Date getTimestamp() { return timestamp; } public void setTimestamp(Date timestamp) { this.timestamp = timestamp; } /** * @return number of millis since epoch */ @ApiModelProperty( value = "The timestamp of the node in milliseconds." ) public Long getMillis() { return millis; } public void setMillis(Long millis) { this.millis = millis; } }