/* $HeadURL:: $ * $Id$ * * Copyright (c) 2006-2010 by Public Library of Science * http://plos.org * http://ambraproject.org * Licensed 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.ambraproject.service.journal; import org.ambraproject.ApplicationException; /** * A listener class for creating journals on startup. This is equivalent of executing the * createJournal.groovy script. * * @author Joe Osowski */ public interface JournalCreator { public static final String JOURNAL_CONFIG_KEY = "ambra.virtualJournals.journals"; /** * Create / Update all journals defined in the {@link #JOURNAL_CONFIG_KEY} configuration element. * * @throws ApplicationException if there is an error creating / updating journals to abort ambra startup */ public void createJournals() throws ApplicationException; }