/*
* 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.ivy.core.event.retrieve;
import org.apache.ivy.core.module.id.ModuleRevisionId;
import org.apache.ivy.core.retrieve.RetrieveOptions;
public class EndRetrieveEvent extends RetrieveEvent {
public static final String NAME = "post-retrieve";
private long duration;
private int nbCopied;
private int nbUpToDate;
private long totalCopiedSize;
public EndRetrieveEvent(ModuleRevisionId mrid, String[] confs, long elapsedTime,
int targetsCopied, int targetsUpToDate, long totalCopiedSize, RetrieveOptions options) {
super(NAME, mrid, confs, options);
this.duration = elapsedTime;
this.nbCopied = targetsCopied;
this.nbUpToDate = targetsUpToDate;
this.totalCopiedSize = totalCopiedSize;
addAttribute("duration", String.valueOf(elapsedTime));
addAttribute("size", String.valueOf(totalCopiedSize));
addAttribute("nbCopied", String.valueOf(targetsCopied));
addAttribute("nbUptodate", String.valueOf(targetsUpToDate));
}
/**
* Duration of the retrieve operation, in ms.
*
* @return Duration of the retrieve operation, in ms.
*/
public long getDuration() {
return duration;
}
/**
* Number of artifacts which were copied (or symlinked) during the retrieve
*
* @return Number of artifacts which were copied during the retrieve.
*/
public int getNbCopied() {
return nbCopied;
}
/**
* Number of artifacts which were not copied since they were already present and up to date.
*
* @return Number of artifacts which were not copied since they were already present and up to
* date.
*/
public int getNbUpToDate() {
return nbUpToDate;
}
/**
* Total size of all copied (or symlinked) artifacts, in bytes.
*
* @return Total size of all copied (or symlinked) artifacts, in bytes.
*/
public long getTotalCopiedSize() {
return totalCopiedSize;
}
}