/* * 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; } }