View Javadoc

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  }