001    package org.apache.archiva.admin.model.managed;
002    /*
003     * Licensed to the Apache Software Foundation (ASF) under one
004     * or more contributor license agreements.  See the NOTICE file
005     * distributed with this work for additional information
006     * regarding copyright ownership.  The ASF licenses this file
007     * to you under the Apache License, Version 2.0 (the
008     * "License"); you may not use this file except in compliance
009     * with the License.  You may obtain a copy of the License at
010     *
011     *   http://www.apache.org/licenses/LICENSE-2.0
012     *
013     * Unless required by applicable law or agreed to in writing,
014     * software distributed under the License is distributed on an
015     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016     * KIND, either express or implied.  See the License for the
017     * specific language governing permissions and limitations
018     * under the License.
019     */
020    
021    
022    import org.apache.archiva.admin.model.AuditInformation;
023    import org.apache.archiva.admin.model.RepositoryAdminException;
024    import org.apache.archiva.admin.model.beans.ManagedRepository;
025    import org.apache.maven.index.context.IndexingContext;
026    
027    import java.util.List;
028    import java.util.Map;
029    
030    /**
031     * @author Olivier Lamy
032     * @since 1.4-M1
033     */
034    public interface ManagedRepositoryAdmin
035    {
036    
037        String REPOSITORY_LOCATION_VALID_EXPRESSION = "^[-a-zA-Z0-9._/~:?!&=\\\\]+$";
038    
039        List<ManagedRepository> getManagedRepositories()
040            throws RepositoryAdminException;
041    
042        Map<String, ManagedRepository> getManagedRepositoriesAsMap()
043            throws RepositoryAdminException;
044    
045        ManagedRepository getManagedRepository( String repositoryId )
046            throws RepositoryAdminException;
047    
048        Boolean deleteManagedRepository( String repositoryId, AuditInformation auditInformation, boolean deleteContent )
049            throws RepositoryAdminException;
050    
051        Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
052                                      AuditInformation auditInformation )
053            throws RepositoryAdminException;
054    
055    
056        Boolean updateManagedRepository( ManagedRepository managedRepository, boolean needStageRepo,
057                                         AuditInformation auditInformation, boolean resetStats )
058            throws RepositoryAdminException;
059    
060        /**
061         *
062         * @param repository
063         * @return
064         * @throws RepositoryAdminException
065         * @since 1.4-M2
066         */
067        IndexingContext createIndexContext( ManagedRepository repository )
068                throws RepositoryAdminException;
069    
070    
071    }