View Javadoc
1   /*
2    * Copyright 2005-2008 Werner Guttmann
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5    * in compliance with the License. You may obtain a copy of the License at
6    *
7    * http://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software distributed under the License
10   * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11   * or implied. See the License for the specific language governing permissions and limitations under
12   * the License.
13   */
14  package org.exolab.castor.builder.printing;
15  
16  /**
17   * Factory class to create {@link JClassPrinter} instances.
18   * 
19   * @since 1.2.1
20   */
21  public interface JClassPrinterFactory {
22  
23    /**
24     * Returns a short name for this {@link JClassPrinterFactory} instance.
25     * 
26     * @return a short name (used for setting the JClassPrinter type on the {@link SourceGenerator}.
27     * 
28     * @see SourceGenerator#setJClassPrinterType(String)
29     */
30    String getName();
31  
32    /**
33     * Returns the {@link JClassPrinter} instance as identified by this {@link JClassPrinterFactory}
34     * instance.
35     * 
36     * @return Returns the actual {@link JClassPrinter} instance
37     */
38    JClassPrinter getJClassPrinter();
39  
40  }