1 package org.apache.maven.changelog; 2 3 /* ==================================================================== 4 * Licensed to the Apache Software Foundation (ASF) under one or more 5 * contributor license agreements. See the NOTICE file distributed with 6 * this work for additional information regarding copyright ownership. 7 * The ASF licenses this file to You under the Apache License, Version 2.0 8 * (the "License"); you may not use this file except in compliance with 9 * the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * ==================================================================== 19 */ 20 21 /** 22 * An AbstractFactory interface for creating the required ChangeLogGenerator 23 * and ChangeLogParser pairs. 24 * 25 * @author Glenn McAllister 26 * @version $Id: ChangeLogFactory.java 532339 2007-04-25 12:28:56Z ltheussl $ 27 */ 28 public interface ChangeLogFactory 29 { 30 /** 31 * Create the ChangeLogGenerator that extracts data from an SCM to be 32 * parsed by an associated ChangeLogParser. 33 * 34 * @return The ChangeLogGenerator for a particular SCM. 35 */ 36 ChangeLogGenerator createGenerator(); 37 38 /** 39 * Create the ChangeLogParser that consumes the output from the 40 * ChangeLogGenerator to produce the set of ChangeLogEntry objects. 41 * 42 * @return The ChangeLogParser for a particular SCM. 43 */ 44 ChangeLogParser createParser(); 45 }