1 package org.apache.maven.archiva.database.updater;
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
22 import org.apache.maven.archiva.database.ArchivaDatabaseException;
23 import org.apache.maven.archiva.model.ArchivaArtifact;
26 * The database update component.
30 public interface DatabaseUpdater
33 * Execute the {@link #updateAllUnprocessed()} and {@link #updateAllProcessed()}
36 * @throws ArchivaDatabaseException
39 throws ArchivaDatabaseException;
42 * Update all unprocessed content.
44 * @throws ArchivaDatabaseException if there was a fatal error with the database.
46 public void updateAllUnprocessed()
47 throws ArchivaDatabaseException;
50 * Update specific unprocessed content.
52 * @throws ArchivaDatabaseException if there was a fatal error with the database.
54 public void updateUnprocessed( ArchivaArtifact artifact )
55 throws ArchivaDatabaseException;
58 * Update all previously processed content.
60 * This is done to allow archiva to remove content from the database that
61 * may have been removed from the filesystem too.
63 * @throws ArchivaDatabaseException if there was a fatal error with the database.
65 public void updateAllProcessed()
66 throws ArchivaDatabaseException;
69 * Update specific processed content.
71 * Example: This is done to allow a specific artifact to be removed from the
72 * database if it no longer exists on the filesystem.
74 * @throws ArchivaDatabaseException if there was a fatal error with the database.
76 public void updateProcessed( ArchivaArtifact artifact )
77 throws ArchivaDatabaseException;