All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.agilejava.maven.docbkx.spec.Specification Maven / Gradle / Ivy

Go to download

Contrary to what you would probably expect, this plugin does *not* provide a mechanism for generating different output formats from DocBook sources. Instead it provides a plugin for generating plugins that do that.

The newest version!
/*
 * #%L
 * Docbkx Maven Plugin Builder
 * %%
 * Copyright (C) 2006 - 2014 Wilfred Springer, Cedric Pronzato
 * %%
 * 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.
 * #L%
 */
package com.agilejava.maven.docbkx.spec;

import java.util.ArrayList;
import java.util.List;

/**
 * A representation of the the DocBook-XSL specific version of a plugin.
 *
 * @author Wilfred Springer
 */
public class Specification {
  /**
   * The extension of the target file.
   */
  private String targetFileExtension;

  /**
   * The location in which the stylesheets will be stored.
   */
  private String stylesheetLocation;

  /**
   * The type of content to be generated. Affects the output directory name, and the name of
   * the plugin.
   */
  private String type;

  /**
   * The suffix of the plugin: generate-....
   */
  private String pluginSuffix;

  /**
   * The name of the Mojo class implementing the required behaviour.
   */
  private String className;

  /**
   * The name of the super class for this class.
   */
  private String superClassName;

  /**
   * The package in which the generated class should reside.
   */
  private String packageName;

  /**
   * The version of the DocBook XSL stylesheets.
   */
  private String docbookXslVersion;

  /**
   * A list of all parameters.
   */
  private List parameters;

  /**
   * False if the stylesheet is responsible to create the output file(s) using its own naming
   * scheme.
   */
  private boolean useStandardOutput = true;

  /**
   * Constructs a new instance.
   *
   */
  public Specification() {
    parameters = new ArrayList();
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getClassName() {
    return className;
  }

  /**
   * DOCUMENT ME!
   *
   * @param className DOCUMENT ME!
   */
  public void setClassName(String className) {
    this.className = className;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getDocbookXslVersion() {
    return docbookXslVersion;
  }

  /**
   * DOCUMENT ME!
   *
   * @param docbookXslVersion DOCUMENT ME!
   */
  public void setDocbookXslVersion(String docbookXslVersion) {
    this.docbookXslVersion = docbookXslVersion;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getPackageName() {
    return packageName;
  }

  /**
   * DOCUMENT ME!
   *
   * @param packageName DOCUMENT ME!
   */
  public void setPackageName(String packageName) {
    this.packageName = packageName;
  }

  /**
   * DOCUMENT ME!
   *
   * @param name DOCUMENT ME!
   * @param description DOCUMENT ME!
   */
  public void addParameter(String name, String description) {
    Parameter parameter = new Parameter();
    parameter.setName(name);
    parameter.setDescription(description);
    parameters.add(parameter);
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public List getParameters() {
    return parameters;
  }

  /**
   * DOCUMENT ME!
   *
   * @param parameters DOCUMENT ME!
   */
  public void setParameters(List parameters) {
    this.parameters = parameters;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getStylesheetLocation() {
    return stylesheetLocation;
  }

  /**
   * DOCUMENT ME!
   *
   * @param stylesheetLocation DOCUMENT ME!
   */
  public void setStylesheetLocation(String stylesheetLocation) {
    this.stylesheetLocation = stylesheetLocation;
  }

  /**
   * Returns the extension of the files being generated by the plugin generated from this
   * specification, which will be based on the {@link #type} variable if it is not explicitly
   * overridden.
   *
   * @return The extension of the files being generated by the plugin generated from this
   *         specification.
   */
  public String getTargetFileExtension() {
    return (targetFileExtension == null) ? type : targetFileExtension;
  }

  /**
   * DOCUMENT ME!
   *
   * @param targetFileExtension DOCUMENT ME!
   */
  public void setTargetFileExtension(String targetFileExtension) {
    this.targetFileExtension = targetFileExtension;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getType() {
    return type;
  }

  /**
   * DOCUMENT ME!
   *
   * @param type DOCUMENT ME!
   */
  public void setType(String type) {
    this.type = type;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getSuperClassName() {
    return superClassName;
  }

  /**
   * DOCUMENT ME!
   *
   * @param superClassName DOCUMENT ME!
   */
  public void setSuperClassName(String superClassName) {
    this.superClassName = superClassName;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public String getPluginSuffix() {
    return (pluginSuffix == null) ? type : pluginSuffix;
  }

  /**
   * DOCUMENT ME!
   *
   * @param pluginSuffix DOCUMENT ME!
   */
  public void setPluginSuffix(String pluginSuffix) {
    this.pluginSuffix = pluginSuffix;
  }

  /**
   * DOCUMENT ME!
   *
   * @return DOCUMENT ME!
   */
  public boolean isUseStandardOutput() {
    return useStandardOutput;
  }

  /**
   * DOCUMENT ME!
   *
   * @param useStandardOutput DOCUMENT ME!
   */
  public void setUseStandardOutput(boolean useStandardOutput) {
    this.useStandardOutput = useStandardOutput;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy