1 package org.apache.archiva.repository.content;
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.archiva.repository.ManagedRepositoryContent;
23 import org.apache.archiva.repository.storage.StorageAsset;
27 * The project is the container for several versions each with different artifacts.
30 * project +--> version 1 + -> artifact 1
34 * +--> version 2 ----> artifact 3
37 * Implementations must provide proper hash and equals methods.
39 * @author Martin Stockhammer <martin_s@apache.org>
41 public interface Project extends ContentItem
45 * The namespace of the project
46 * @return the namespace
48 String getNamespace();
51 * The id of the project
52 * @return the project id
57 * The repository this project is part of.
58 * @return the repository content
60 ManagedRepositoryContent getRepository();
63 * Returns the asset that corresponds to this project.
64 * It depends of the implementation, if the asset provides additional information about the
67 * @return the repository asset that represents this project
69 StorageAsset getAsset();