Package com.sos.scheduler.model

Source Code of com.sos.scheduler.model.SchedulerObjectFactory

/********************************************************* begin of preamble
**
** Copyright (C) 2003-2010 Software- und Organisations-Service GmbH.
** All rights reserved.
**
** This file may be used under the terms of either the
**
**   GNU General Public License version 2.0 (GPL)
**
**   as published by the Free Software Foundation
**   http://www.gnu.org/licenses/gpl-2.0.txt and appearing in the file
**   LICENSE.GPL included in the packaging of this file.
**
** or the
** 
**   Agreement for Purchase and Licensing
**
**   as offered by Software- und Organisations-Service GmbH
**   in the respective terms of supply that ship with this file.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
** THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
** PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
********************************************************** end of preamble*/
package com.sos.scheduler.model;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringReader;
import java.io.StringWriter;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

import org.apache.log4j.Logger;

import com.sos.JSHelper.Exceptions.JobSchedulerException;
import com.sos.VirtualFileSystem.Interfaces.ISOSVirtualFile;
import com.sos.scheduler.model.answers.Answer;
import com.sos.scheduler.model.answers.JSCmdBase;
import com.sos.scheduler.model.commands.JSCmdAddJobs;
import com.sos.scheduler.model.commands.JSCmdAddOrder;
import com.sos.scheduler.model.commands.JSCmdCheckFolders;
import com.sos.scheduler.model.commands.JSCmdClusterMemberCommand;
import com.sos.scheduler.model.commands.JSCmdEventsGet;
import com.sos.scheduler.model.commands.JSCmdJobChainModify;
import com.sos.scheduler.model.commands.JSCmdJobChainNodeModify;
import com.sos.scheduler.model.commands.JSCmdKillTask;
import com.sos.scheduler.model.commands.JSCmdLicenceUse;
import com.sos.scheduler.model.commands.JSCmdLockRemove;
import com.sos.scheduler.model.commands.JSCmdModifyHotFolder;
import com.sos.scheduler.model.commands.JSCmdModifyJob;
import com.sos.scheduler.model.commands.JSCmdModifyOrder;
import com.sos.scheduler.model.commands.JSCmdModifySpooler;
import com.sos.scheduler.model.commands.JSCmdParamGet;
import com.sos.scheduler.model.commands.JSCmdProcessClassRemove;
import com.sos.scheduler.model.commands.JSCmdRemoteSchedulerRemoteTaskClose;
import com.sos.scheduler.model.commands.JSCmdRemoteSchedulerStartRemoteTask;
import com.sos.scheduler.model.commands.JSCmdRemoveJobChain;
import com.sos.scheduler.model.commands.JSCmdRemoveOrder;
import com.sos.scheduler.model.commands.JSCmdScheduleRemove;
import com.sos.scheduler.model.commands.JSCmdSchedulerLogLogCategoriesReset;
import com.sos.scheduler.model.commands.JSCmdSchedulerLogLogCategoriesSet;
import com.sos.scheduler.model.commands.JSCmdShowCalendar;
import com.sos.scheduler.model.commands.JSCmdShowHistory;
import com.sos.scheduler.model.commands.JSCmdShowJob;
import com.sos.scheduler.model.commands.JSCmdShowJobChain;
import com.sos.scheduler.model.commands.JSCmdShowJobChains;
import com.sos.scheduler.model.commands.JSCmdShowJobs;
import com.sos.scheduler.model.commands.JSCmdShowOrder;
import com.sos.scheduler.model.commands.JSCmdShowState;
import com.sos.scheduler.model.commands.JSCmdShowTask;
import com.sos.scheduler.model.commands.JSCmdStartJob;
import com.sos.scheduler.model.commands.JSCmdSubsystemShow;
import com.sos.scheduler.model.commands.JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles;
import com.sos.scheduler.model.commands.JSCmdTerminate;
import com.sos.scheduler.model.events.JSEvent;
import com.sos.scheduler.model.objects.JSObjCluster;
import com.sos.scheduler.model.objects.JSObjCommands;
import com.sos.scheduler.model.objects.JSObjConfigurationDirectory;
import com.sos.scheduler.model.objects.JSObjConfigurationFile;
import com.sos.scheduler.model.objects.JSObjEnvironment;
import com.sos.scheduler.model.objects.JSObjHoliday;
import com.sos.scheduler.model.objects.JSObjHolidays;
import com.sos.scheduler.model.objects.JSObjInclude;
import com.sos.scheduler.model.objects.JSObjJob;
import com.sos.scheduler.model.objects.JSObjJobChain;
import com.sos.scheduler.model.objects.JSObjJobChainNodeEnd;
import com.sos.scheduler.model.objects.JSObjJobChainNodeJobChain;
import com.sos.scheduler.model.objects.JSObjJobChains;
import com.sos.scheduler.model.objects.JSObjJobSettings;
import com.sos.scheduler.model.objects.JSObjJobs;
import com.sos.scheduler.model.objects.JSObjLock;
import com.sos.scheduler.model.objects.JSObjMonthdays;
import com.sos.scheduler.model.objects.JSObjOrder;
import com.sos.scheduler.model.objects.JSObjParam;
import com.sos.scheduler.model.objects.JSObjParams;
import com.sos.scheduler.model.objects.JSObjProcessClass;
import com.sos.scheduler.model.objects.JSObjProcessClasses;
import com.sos.scheduler.model.objects.JSObjSchedule;
import com.sos.scheduler.model.objects.JSObjScript;
import com.sos.scheduler.model.objects.JSObjSecurity;
import com.sos.scheduler.model.objects.JSObjSpooler;
import com.sos.scheduler.model.objects.ObjectFactory;
import com.sos.scheduler.model.objects.Param;
import com.sos.scheduler.model.objects.Params;
import com.sos.scheduler.model.objects.Spooler;
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;

/**
* \class SchedulerObjectFactory
*
* \brief SchedulerObjectFactory -
*
* \details
*
* \section SchedulerObjectFactory.java_intro_sec Introduction
*
* \section SchedulerObjectFactory.java_samples Some Samples
*
* \code
*   .... code goes here ...
* \endcode
*
* <p style="text-align:center">
* <br />---------------------------------------------------------------------------
* <br /> APL/Software GmbH - Berlin
* <br />##### generated by ClaviusXPress (http://www.sos-berlin.com) #########
* <br />---------------------------------------------------------------------------
* </p>
* \author KB
* @version $Id$
* \see reference
*
* Created on 18.01.2011 12:02:31
*/
/**
* @author KB
*
*/
public class SchedulerObjectFactory extends ObjectFactory implements Runnable {
  public static enum enu4What {
    remote_schedulers, all, folders, job_chains, job_chain_jobs, /* job-chains and jobs are requested */
    running, no_subfolders
    /**/;
    public String Text() {
      String strT = this.name();
      return strT;
    }
  }
  private final String          conClassName    = "SchedulerObjectFactory";
  private static final Logger        logger        = Logger.getLogger(SchedulerObjectFactory.class);
  private SchedulerObjectFactoryOptions  objOptions      = new SchedulerObjectFactoryOptions();
  private JAXBContext            jc;
  private Unmarshaller          u;
  private Marshaller            objM;
  private SchedulerSocket          objSchedulerSocket  = null;
  private JAXBContext            jc4Answers      = null;
  private Unmarshaller          u4Answers      = null;

  public SchedulerObjectFactory() {
    super();
  }

  @Override
  public void run() {
    // TODO Auto-generated method stub
  }

  /**
   *
   * \brief run
   *
   * \details
   *
   * \return Answer
   *
   * @param pobjJSCmd
   * @return
   */
  public Answer run(JSCmdBase pobjJSCmd) {
    final String conMethodName = conClassName + "::run";
    Answer objAnswer = null;
    String strT = pobjJSCmd.toXMLString();
    String strA = "";
    try {
      logger.debug(String.format("%1$s: Request: %n%2$s", conMethodName, strT));
      if (objOptions.TransferMethod.isTcp()) {
        this.getSocket().sendRequest(strT);
        strA = getSocket().getResponse();
        objAnswer = getAnswer(strA);
      }
      else
        if (objOptions.TransferMethod.isUdp()) {
          DatagramSocket udpSocket = null;
          int intPortNumber = 0;
          try {
            udpSocket = new DatagramSocket();
            intPortNumber = objOptions.PortNumber.value();
            InetAddress objInetAddress = objOptions.ServerName.getInetAddress();
            udpSocket.connect(objInetAddress, intPortNumber);
            if (strT.indexOf("<?xml") == -1) {
              strT = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" + strT;
            }
            byte[] btyBuffer = strT.getBytes();
            udpSocket.send(new DatagramPacket(btyBuffer, btyBuffer.length, objInetAddress, intPortNumber));
          }
          catch (Exception e) {
            e.printStackTrace();
            throw e;
          }
          finally {
            if (udpSocket != null) {
              logger.debug(String.format("Command sent using UDP to host '%1$s' at port '%2$d'", objOptions.ServerName.toString(), intPortNumber)  );
              udpSocket.disconnect();
              udpSocket = null;
            }
          }
        }
        else {
          throw new JobSchedulerException(String.format("TransferMethod '%1$s' not supported (yet)", objOptions.TransferMethod.Value()));
        }
    }
    catch (Exception e) {
      throw new JobSchedulerException(String.format("%1$s: %2$s", conMethodName, e.getMessage()), e);
    }
    if (objAnswer != null) {
      // TODO in Answer den original-response des js als string ablegen.
      // TODO eigenst�ndige BasisKlasse JSAnswerBase bauen. ableiten von JSCmdBase.
      if (objAnswer.getERROR() != null) {
        throw new JobSchedulerException("Job Scheduler responds an error due to an invalid or wrong command\n" + strT);
      }
    }
    return objAnswer;
  } // private Object run

  /**
   *
   * \brief getAnswer
   *
   * \details
   *
   * \return Answer
   *
   * @param pXMLStr
   * @return
   */
  public Answer getAnswer(String pXMLStr) {
    final String conMethodName = conClassName + "::getAnswer";
    logger.debug(String.format("%1$s: Response: %n%2$s", conMethodName, pXMLStr));
    Answer objAnswer = null;
    com.sos.scheduler.model.answers.Spooler objSpooler = null;
    try {
      /**
       * den speziellen Context f�r die Answer brauchen wir, solange die Answer nicht in der scheduler.xsd enthalten ist.
       * dadurch ist das dann ein anderer Namespace und das passt nicht zusammen.
       */
      if (jc4Answers == null) {
        jc4Answers = JAXBContext.newInstance(com.sos.scheduler.model.answers.Spooler.class);
        // create an Unmarshaller
        u4Answers = jc4Answers.createUnmarshaller();
      }
      objSpooler = (com.sos.scheduler.model.answers.Spooler) u4Answers.unmarshal(new StringReader(pXMLStr));
    }
    catch (Exception e) {
      throw new JobSchedulerException(String.format("can't get answer object from %n%1$s", pXMLStr), e);
    }
    if (objSpooler != null) {
      objAnswer = objSpooler.getAnswer();
    }
    return objAnswer;
  } // public Answer getAnswer

  public void initMarshaller(Class<?> objC) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::initMarshaller";
    try {
      jc = JAXBContext.newInstance(objC);
      // create an Unmarshaller
      u = jc.createUnmarshaller();
      objM = jc.createMarshaller();
    }
    catch (JAXBException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  } // private void initMarshaller

  /**
   * \brief unMarshall
   *
   * \details
   *
   * \return
   *
   * @param pobjFile
   * @return
   */
  public Object unMarshall(File pobjFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::unMarshall";
    Object objC = null;
    try {
      objC = u.unmarshal(pobjFile);
    }
    catch (JAXBException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return objC;
  } // private Object unMarshall

  public Object unMarshall(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::unMarshall";
    Object objC = null;
    if (pobjVirtualFile != null) {
      InputStream objInputStream = pobjVirtualFile.getFileInputStream();
      try {
        if (objInputStream == null) {
          logger.error(String.format("can't get inputstream for file '%1$s'.", pobjVirtualFile.getName()));
          throw new JobSchedulerException(String.format("can't get inputstream for file '%1$s'.", pobjVirtualFile.getName()));
        }
        objC = u.unmarshal(objInputStream);
      }
      catch (JAXBException e) {
        e.printStackTrace();
        throw new JobSchedulerException("", e);
      }
      finally {
        pobjVirtualFile.closeInput();
      }
    }
    else {
      logger.error("pobjVirtualFile is null");
      throw new JobSchedulerException("pobjVirtualFile is null");
    }
    return objC;
  } // private Object unMarshall

  public Object unMarshall(InputStream pobjInputStream) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::unMarshall";
    Object objC = null;
    try {
      objC = u.unmarshal(pobjInputStream);
    }
    catch (JAXBException e) {
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    return objC;
  } // private Object unMarshall

  public Object unMarshall(String pstrXMLContent) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::unMarshall";
    Object objC = null;
    try {
      objC = u.unmarshal(new StringReader(pstrXMLContent));
    }
    catch (JAXBException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    return objC;
  } // private Object unMarshall

  /**
   * \brief marshal
   *
   * \details
   *
   * \return
   *
   * @param objO
   * @param objF
   * @return
   */
  public Object marshal(Object objO, File objF) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::marshal";
    try {
      // get an Apache XMLSerializer configured to generate CDATA
      XMLSerializer serializer = getXMLSerializer();
      FileOutputStream objFOS = new FileOutputStream(objF);
      serializer.setOutputByteStream(objFOS);
      // marshal using the Apache XMLSerializer
      objM.marshal(objO, serializer.asContentHandler());
      // objM.marshal(objO, objF);
    }
    catch (JAXBException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    return objO;
  } // private SchedulerObjectFactoryOptions marshal


  public String marshal(Object objO) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::marshal";
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream out = new DataOutputStream( baos );
    try {
      // get an Apache XMLSerializer configured to generate CDATA
          XMLSerializer serializer = getXMLSerializer();

//          FileOutputStream objFOS = new FileOutputStream(objFos);
      serializer.setOutputByteStream(out);
      // marshal using the Apache XMLSerializer
          objM.marshal(objO, serializer.asContentHandler());
//      objM.marshal(objO, objF);
    }
    catch (JAXBException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("",e);
    }
    catch (FileNotFoundException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("",e);
    }
    catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      throw new JobSchedulerException("",e);
    }
    return baos.toString();
  } // private SchedulerObjectFactoryOptions marshal

  /**
   *
   * \brief toXMLFile
   *
   * \details
   *
   * \return Object
   *
   * @param objO
   * @param pobjVirtualFile
   * @return
   */
  public Object toXMLFile(Object objO, ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::marshal";
    if (pobjVirtualFile != null) {
      OutputStream objOutputStream = pobjVirtualFile.getFileOutputStream();
      try {
        if (objOutputStream == null) {
          logger.error(String.format("can't get outputstream for file '%1$s'.", pobjVirtualFile.getName()));
          throw new JobSchedulerException(String.format("can't get outputstream for file '%1$s'.", pobjVirtualFile.getName()));
        }
        // get an Apache XMLSerializer configured to generate CDATA
        XMLSerializer serializer = getXMLSerializer();
        serializer.setOutputByteStream(objOutputStream);
        // marshal using the Apache XMLSerializer
        objM.marshal(objO, serializer.asContentHandler());
      }
      catch (JAXBException e) {
        e.printStackTrace();
        throw new JobSchedulerException("", e);
      }
      catch (IOException e) {
        e.printStackTrace();
        throw new JobSchedulerException("", e);
      }
      finally {
        pobjVirtualFile.closeOutput();
      }
    }
    else {
      logger.error("pobjVirtualFile is null");
      throw new JobSchedulerException("pobjVirtualFile is null");
    }
    return objO;
  } // private SchedulerObjectFactoryOptions marshal

  /**
   * \brief toXMLString
   *
   * \details
   *
   * \return
   *
   * @param objO
   * @return
   */
  public String toXMLString(Object objO) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::toXMLString";
    String strT = "";
    try {
      // get an Apache XMLSerializer configured to generate CDATA
      XMLSerializer serializer = getXMLSerializer();
      OutputFormat objOutputFormat = new OutputFormat();
      // TODO in die Optionclass
      objOutputFormat.setEncoding("iso-8859-1");
      serializer.setOutputFormat(objOutputFormat);
      StringWriter objSW = new StringWriter();
      serializer.setOutputCharStream(objSW);
      // marshal using the Apache XMLSerializer
      objM.marshal(objO, serializer.asContentHandler());
      // objM.marshal(objO, objSW);
      strT = objSW.getBuffer().toString();
    }
    catch (JAXBException e) {
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    catch (IOException e) {
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    catch (Exception e) {
      e.printStackTrace();
      throw new JobSchedulerException("", e);
    }
    return strT;
  } // private SchedulerObjectFactoryOptions marshal

  /**
   * \brief getXMLSerializer
   *
   * \details
   * configure an OutputFormat to handle CDATA and indenting
   *
   * \return XMLSerializer
   */
  private XMLSerializer getXMLSerializer() {
    OutputFormat of = new OutputFormat();
    of.setCDataElements(new String[] { "^description", "^script", "^scheduler_script", "^log_mail_to", "^log_mail_cc", "^log_mail_bcc" });
    // TODO setIndenting should be an option
    of.setIndenting(true);
    XMLSerializer serializer = new XMLSerializer(of);
    return serializer;
  } // private XMLSerializer getXMLSerializer

  /**
   *
   * \brief Options
   *
   * \details
   *
   * \return SchedulerObjectFactoryOptions
   *
   * @return
   */
  public SchedulerObjectFactoryOptions Options() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::Options";
    if (objOptions == null) {
      objOptions = new SchedulerObjectFactoryOptions();
    }
    return objOptions;
  } // private SchedulerObjectFactoryOptions Options

  /**
   *
   * \brief SchedulerObjectFactory
   *
   * \details
   *
   * @param pstrServerName
   * @param pintPort
   */
  public SchedulerObjectFactory(String pstrServerName, int pintPort) {
    super();
    this.Options().ServerName.Value(pstrServerName);
    this.Options().PortNumber.value(pintPort);
  }

  public SchedulerSocket getSocket() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::getSocket";
    if (objSchedulerSocket == null) {
      try {
        logger.debug(objOptions.toXML());
        objSchedulerSocket = new SchedulerSocket(objOptions);
      }
      catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        throw new JobSchedulerException(e.getMessage(), e);
      }
    }
    return objSchedulerSocket;
  } // private SchedulerSocket getSocket

  public void closeSocket() {
 
  @SuppressWarnings("unused")
  final String  conMethodName  = conClassName + "::closeSocket";
 
  if (objSchedulerSocket != null) {
    try {
      objSchedulerSocket.close();
    }
    catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    objSchedulerSocket = null;
  }
 
} // private void closeSocket

  /**
   *
   * \brief setParams
   *
   * \details
   *
   * \return Params
   *
   * @param pobjProperties
   * @return
   */
  @SuppressWarnings({ "rawtypes", "unchecked" })
  public Params setParams(Properties pobjProperties) {
 
  @SuppressWarnings("unused")
  final String  conMethodName  = conClassName + "::setParams";
 
  String strParamValue = "";
  Params objParams = super.createParams();
 
  for (final Entry element : pobjProperties.entrySet()) {
    final Map.Entry<String, String> mapItem =  (Map.Entry<String, String>) element;
    String key = mapItem.getKey().toString();
    strParamValue = mapItem.getValue();
    Param objP = this.createParam(key, strParamValue);
    objParams.getParamOrCopyParamsOrInclude().add(objP);
  }
 
  return objParams;
} // private Params setParams

  /**
   *
   * \brief setParams
   *
   * \details
   *
   * \return Params
   *
   * @param pstrParamArray
   * @return
   */
  public Params setParams(String[] pstrParamArray) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::setParams";
    String strParamValue = "";
    Params objParams = super.createParams();
    for (int i = 0; i < pstrParamArray.length; i += 2) {
      String strParamName = pstrParamArray[i];
      if (i + 1 >= pstrParamArray.length) {
        strParamValue = "";
      }
      else {
        strParamValue = pstrParamArray[i + 1];
      }
      Param objP = this.createParam(strParamName, strParamValue);
      objParams.getParamOrCopyParamsOrInclude().add(objP);
    }
    return objParams;
  } // private Params setParams

  /**
   * \creator JSObjParam
   * \type Obj
   * \brief JSObjParam
   *
   * \details
   *
   *
   * \created 10.02.2011 10:39:56 by oh
   */
  public JSObjParam createParam() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createParam";
    JSObjParam objParam = new JSObjParam(this);
    return objParam;
  } // JSObjParam createParam()

  /**
   *
   * \brief createParam
   *
   * \details
   *
   * \return Param
   *
   * @param pstrParamName
   * @param pstrParamValue
   * @return
   */
  public Param createParam(String pstrParamName, String pstrParamValue) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createParam";
    Param objP = super.createParam();
    objP.setName(pstrParamName);
    objP.setValue(pstrParamValue);
    return objP;
  } // private Param createParam

  /**
   * \creator JSConfiguration
   * \brief JSConfiguration - create empty Job Scheduler configuration
   *
   * \details
   * Create empty Job Scheduler configuration
   *
   * \created 02.03.2011 10:31:30 by oh
   *
   * \return JSConfiguration
   *
   * @param pobjVirtualFile
   * @return
   */
  public JSConfiguration createJSConfiguration() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJSConfiguration";
    JSConfiguration objJSC = new JSConfiguration(this);
    return objJSC;
  } // public JSConfiguration newJSConfiguration

  /**
   * \creator JSConfiguration
   * \brief JSConfiguration - load Job Scheduler configuration from file
   *
   * \details
   * Load Job Scheduler configuration from file
   *
   * \created 02.03.2011 10:31:30 by oh
   *
   * \return JSConfiguration
   *
   * @param pobjVirtualFile
   * @return
   */
  public JSConfiguration createJSConfiguration(final ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJSConfiguration";
    JSConfiguration objJSC = new JSConfiguration(this, pobjVirtualFile);
    return objJSC;
  } // public JSConfiguration newJSConfiguration

  /**
   * \creator SchedulerHotFolder
   * \brief SchedulerHotFolder - load Hot Folder objects
   *
   * \details
   * Load Hot Folder objects
   *
   * \created 15.02.2011 17:16:36 by oh
   */
  public SchedulerHotFolder createSchedulerHotFolder(ISOSVirtualFile objDir) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSchedulerHotFolder";
    SchedulerHotFolder objSchedulerHotFolder = new SchedulerHotFolder(this, objDir);
    return objSchedulerHotFolder;
  } // SchedulerHotFolder createSchedulerHotFolder()

  /**
   * \creator JSObjJob
   * \type Obj
   * \brief JSObjJob - Create empty Job
   *
   * \details
   * CreatorDescription
   *
   * \created 15.02.2011 17:01:37 by oh
   */
  public JSObjJob createJob() {
    JSObjJob objJob = new JSObjJob(this);
    return objJob;
  }

  /**
   * \creator JSObjJob
   * \type Obj
   * \brief JSObjJob - Create Job from (virtual) file
   *
   * \details
   * CreatorDescription
   *
   * \created 15.02.2011 17:01:37 by oh
   */
  public JSObjJob createJob(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJob";
    JSObjJob objJob = new JSObjJob(this, pobjVirtualFile);
    return objJob;
  } // JSObjJob createJob()


  public JSEvent createEvent(String eventName) {
    return new JSEvent(this, eventName);
  }
 
  /**
   * \creator JSObjParams
   * \type Obj
   * \brief JSObjParams - creates empty Params object
   *
   * \details
   * Creates empty Params object which contains Param objects.
   *
   * \created 10.02.2011 10:44:29 by oh
   */
  public JSObjParams createParams(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createParams";
    JSObjParams objParams = new JSObjParams(this, pobjVirtualFile);
    return objParams;
  } // JSObjParams createParams()

  /**
   * \creator JSObjParams
   * \type Obj
   * \brief JSObjParams - creates Params object from (virtual) file
   *
   * \details
   * Creates Params object from (virtual) file containing Param objects.
   *
   * \created 10.02.2011 10:44:29 by oh
   */
  public JSObjParams createParams() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createParams";
    JSObjParams objParams = new JSObjParams(this);
    return objParams;
  } // JSObjParams createParams()

  /**
   * \creator JSObjJobChain
   * \type Obj
   * \brief JSObjJobChain - CreatorTitle
   *
   * \details
   * CreatorDescription
   *
   * \created 15.02.2011 16:58:47 by oh
   */
  public JSObjJobChain createJobChain() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobChain";
    JSObjJobChain objJobChain = new JSObjJobChain(this);
    return objJobChain;
  } // JSObjJobChain createJobChain()

  /**
   * \creator JSObjJobChain
   * \type Obj
   * \brief JSObjJobChain - CreatorTitle
   *
   * \details
   * CreatorDescription
   *
   * \created 15.02.2011 17:01:37 by oh
   */
  public JSObjJobChain createJobChain(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobChain";
    JSObjJobChain objJobChain = new JSObjJobChain(this, pobjVirtualFile);
    return objJobChain;
  } // JSObjJobChain createJobChain()

  /**
   * \creator JSObjJobChains
   * \type Obj
   * \brief JSObjJobChains - contains job chain objects
   *
   * \details
   * Contains job chain objects
   *
   * \created 11.02.2011 13:10:31 by oh
   */
  public JSObjJobChains createJobChains() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobChains";
    JSObjJobChains objJobChains = new JSObjJobChains(this);
    return objJobChains;
  } // JSObjJobChains createJobChains()

  /**
   * \creator JSObjJobChain
   * \type Obj
   * \brief JSObjJobChain - contains jobs or job chains
   *
   * \details
   * contains jobs as jobChainNode, fileOrderSource or fileOrderSink objects or further job chain objects
   *
   * \created 10.02.2011 08:50:04 by oh
   */
  // public JSObjJobChain createJobChain() {
  // @SuppressWarnings("unused")
  // final String conMethodName = conClassName + "::createJobChain";
  // JSObjJobChain objJobChain = new JSObjJobChain(this);
  // return objJobChain;
  // } // JSObjJobChain createJobChain()
  /**
   * \creator JSObjJobChainNodeEnd
   * \type Obj
   * \brief JSObjJobChainNodeEnd - defines a final node of a job chain
   *
   * \details
   * Defines a final node of a job chain. It is the same like a normal JobChainNode object without a job and nextState.
   *
   * \created 10.02.2011 08:59:04 by oh
   */
  public JSObjJobChainNodeEnd createJobChainNodeEnd() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobChainNodeEnd";
    JSObjJobChainNodeEnd objJobChainNodeEnd = new JSObjJobChainNodeEnd(this);
    return objJobChainNodeEnd;
  } // JSObjJobChainNodeEnd createJobChainNodeEnd()

  /**
   * \creator JSObjJobChainNodeJobChain
   * \type Obj
   * \brief JSObjJobChainNodeJobChain - a job chain node which linked an other job chain
   *
   * \details
   * A job chain node which linked an other job chain.
   *
   * \created 10.02.2011 09:02:48 by oh
   */
  public JSObjJobChainNodeJobChain createJobChainNodeJobChain() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobChainNodeJobChain";
    JSObjJobChainNodeJobChain objJobChainNodeJobChain = new JSObjJobChainNodeJobChain(this);
    return objJobChainNodeJobChain;
  } // JSObjJobChainNodeJobChain createJobChainNodeJobChain()

  /**
   * \creator JSObjJobs
   * \type Obj
   * \brief JSObjJobs - contains job objects
   *
   * \details
   * Contains job objects. This is not a Hot Folder object.
   *
   * \created 10.02.2011 09:05:51 by oh
   */
  public JSObjJobs createJobs() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobs";
    JSObjJobs objJobs = new JSObjJobs(this);
    return objJobs;
  } // JSObjJobs createJobs()

  /**
   * \creator JSObjJobSettings
   * \type Obj
   * \brief JSObjJobSettings - contains email, logging and history settings
   *
   * \details
   * Contains email, logging and history settings.
   *
   * \created 10.02.2011 09:17:01 by oh
   */
  public JSObjJobSettings createJobSettings() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobSettings";
    JSObjJobSettings objJobSettings = new JSObjJobSettings(this);
    return objJobSettings;
  } // JSObjJobSettings createJobSettings()

  /**
   * \creator JSObjHolidays
   * \type Obj
   * \brief JSObjHolidays - contains holiday objects
   *
   * \details
   * Contains holiday objects - days on which the Job Scheduler should not run a job.
   *
   * \created 09.02.2011 17:34:25 by oh
   */
  public JSObjHolidays createHolidays() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createHolidays";
    JSObjHolidays objHolidays = new JSObjHolidays(this);
    return objHolidays;
  } // JSObjHolidays createHolidays()

  /**
   * \creator JSObjHoliday
   * \type Obj
   * \brief JSObjHoliday - defines a holiday
   *
   * \details
   * Defines a holiday - a day on which the Job Scheduler should not run a job.
   *
   * \created 09.02.2011 17:35:25 by oh
   */
  public JSObjHoliday createHoliday() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createHoliday";
    JSObjHoliday objHoliday = new JSObjHoliday(this);
    return objHoliday;
  } // JSObjHoliday createHoliday()

  /**
   * \creator JSObjMonthdays
   * \type Obj
   * \brief JSObjMonthdays - sets the operating period for a particular day of the month
   *
   * \details
   * Sets the operating period for a particular day of the month.
   *
   * \created 10.02.2011 09:28:19 by oh
   */
  public JSObjMonthdays createMonthdays() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createMonthdays";
    JSObjMonthdays objMonthdays = new JSObjMonthdays(this);
    return objMonthdays;
  } // JSObjMonthDays createMonthDays()

  /**
   * \creator JSObjLock
   * \type Obj
   * \brief JSObjLock - stops two tasks from running at the same time
   *
   * \details
   * Stops two tasks from running at the same time
   *
   * \created 10.02.2011 09:23:39 by oh
   */
  public JSObjLock createLock() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createLock";
    JSObjLock objLock = new JSObjLock(this);
    return objLock;
  } // JSObjLock createLock()

  /**
   * \creator JSObjLock
   * \type Obj
   * \brief JSObjLock - Create Lock from (virtual) file
   *
   * \details
   * CreatorDescription
   *
   * \created 15.02.2011 17:01:37 by oh
   */
  public JSObjLock createLock(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createLock";
    JSObjLock objLock = new JSObjLock(this, pobjVirtualFile);
    return objLock;
  } // JSObjLock createLock()

  /**
   * Create an instance of {@link JSObjCluster }
   *
   */
  public JSObjCluster createCluster() {
    JSObjCluster objCluster = new JSObjCluster(this);
    return objCluster;
  }

  /**
   * Create an instance of {@link JSCmdClusterMemberCommand }
   *
   */
  public JSCmdClusterMemberCommand createClusterMemberCommand() {
    JSCmdClusterMemberCommand objCMC = new JSCmdClusterMemberCommand(this);
    return objCMC;
  }

  /**
   * Create an instance of {@link JSObjSecurity }
   *
   */
  public JSObjSecurity createSecurity() {
    JSObjSecurity objSecurity = new JSObjSecurity(this);
    return objSecurity;
  }

  /**
   * \creator JSObjSpooler
   * \type Obj
   * \brief JSObjSpooler - creates empty spooler object
   *
   * \details
   * Creates empty spooler object
   *
   * \created 02.03.2011 09:13:13 by oh
   */
  public JSObjSpooler createSpooler() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSpooler";
    JSObjSpooler objSpooler = new JSObjSpooler(this);
    return objSpooler;
  } // JSObjSpooler createSpooler()

  /**
   * \creator JSObjSpooler
   * \type Obj
   * \brief JSObjSpooler - Create spooler object from (virtual) file
   *
   * \details
   * Create spooler object from (virtual) file
   *
   * \created 02.03.2011 09:13:13 by oh
   */
  public JSObjSpooler createSpooler(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSpooler";
    JSObjSpooler objSpooler = new JSObjSpooler(this, pobjVirtualFile);
    return objSpooler;
  } // JSObjSpooler createSpooler()

  // **
  // * Create an instance of {@link RegisterRemoteScheduler }
  // *
  // */
  // public RegisterRemoteScheduler createRegisterRemoteScheduler() {
  // return new RegisterRemoteScheduler();
  // }
  //
  // /**
  // * Create an instance of {@link ServiceRequest }
  // *
  // */
  // public ServiceRequest createServiceRequest() {
  // return new ServiceRequest();
  // }
  //
  // /**
  // * Create an instance of {@link Ultimos }
  // *
  // */
  // public Ultimos createUltimos() {
  // return new Ultimos();
  // }
  //
  // /**
  // * Create an instance of {@link Monthdays }
  // *
  // */
  // public Monthdays createMonthdays() {
  // return new Monthdays();
  // }
  //
  // /**
  // * Create an instance of {@link com.sos.scheduler.model.objects.Weekdays }
  // *
  // */
  // public com.sos.scheduler.model.objects.Weekdays createWeekdays() {
  // return new com.sos.scheduler.model.objects.Weekdays();
  // }
  //
  // /**
  // * Create an instance of {@link Spooler.Config }
  // *
  // */
  // public Spooler.Config createSpoolerConfig() {
  // return new Spooler.Config();
  // }
  //
  // /**
  // * Create an instance of {@link Holidays.Weekdays }
  // *
  // */
  // public Holidays.Weekdays createHolidaysWeekdays() {
  // return new Holidays.Weekdays();
  // }
  //
  // /**
  // * Create an instance of {@link HttpAuthentication }
  // *
  // */
  // public HttpAuthentication createHttpAuthentication() {
  // return new HttpAuthentication();
  // }
  // /**
  // * Create an instance of {@link HttpAuthentication.HttpUsers }
  // *
  // */
  // public HttpAuthentication.HttpUsers createHttpAuthenticationHttpUsers() {
  // return new HttpAuthentication.HttpUsers();
  // }
  //
  /**
   * \creator JSObjOrder
   * \type Obj
   * \brief JSObjOrder - creates empty Order
   *
   * \details
   * Creates empty Order.
   *
   * \created 10.02.2011 10:28:05 by oh
   */
  public JSObjOrder createOrder() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createOrder";
    JSObjOrder objOrder = new JSObjOrder(this);
    return objOrder;
  } // JSObjOrder createOrder()

  /**
   * \creator JSObjOrder
   * \type Obj
   * \brief JSObjOrder - creates Order from (virtual) file
   *
   * \details
   * Creates Order from (virtual) file
   *
   * \created 15.02.2011 17:01:37 by oh
   */
  public JSObjOrder createOrder(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createOrder";
    JSObjOrder objOrder = new JSObjOrder(this, pobjVirtualFile);
    return objOrder;
  } // JSObjJob JSObjOrder()

  /**
   * \creator Schedule
   * \type Obj
   * \brief JSObjSchedule - creates empty Schedule
   *
   * \details
   * Creates empty Schedule
   *
   * \created 22.02.2011 12:01:58 by oh
   */
  public JSObjSchedule createSchedule() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSchedule";
    JSObjSchedule objSchedule = new JSObjSchedule(this);
    return objSchedule;
  } // JSObjSchedule createSchedule()

  /**
   * \creator Schedule
   * \type Obj
   * \brief JSObjSchedule - creates Schedule from (virtual) file
   *
   * \details
   * Creates Schedule from (virtual) file
   *
   * \created 22.02.2011 12:01:58 by oh
   */
  public JSObjSchedule createSchedule(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSchedule";
    JSObjSchedule objSchedule = new JSObjSchedule(this, pobjVirtualFile);
    return objSchedule;
  } // JSObjSchedule createSchedule()

  /**
   * \creator JSObjProcessClass
   * \type Obj
   * \brief JSObjProcessClass - defines an empty process class
   *
   * \details
   * Defines a process class in which jobs can run.
   *
   * \created 10.02.2011 11:24:12 by oh
   */
  public JSObjProcessClass createProcessClass() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createProcessClass";
    JSObjProcessClass objProcessClass = new JSObjProcessClass(this);
    return objProcessClass;
  } // JSObjProcessClass createProcessClass()

  /**
   * \creator JSObjProcessClass
   * \type Obj
   * \brief JSObjProcessClass - Create process class from (virtual) file
   *
   * \details
   * Defines a process class from file in which jobs can run.
   *
   * \created 22.02.2011 11:21:31 by oh
   */
  public JSObjProcessClass createProcessClass(ISOSVirtualFile pobjVirtualFile) {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createProcessClass";
    JSObjProcessClass objProcessClass = new JSObjProcessClass(this, pobjVirtualFile);
    return objProcessClass;
  } // JSObjProcessClass createProcessClass()

  /**
   * \creator ProcessClasses
   * \type Obj
   * \brief JSObjProcessClasses - contains ProcessClass objects
   *
   * \details
   * Contains ProcessClass objects. It is not a Hot Folder object.
   *
   * \created 10.02.2011 11:26:44 by oh
   */
  public JSObjProcessClasses createProcessClasses() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createProcessClasses";
    JSObjProcessClasses objProcessClasses = new JSObjProcessClasses(this);
    return objProcessClasses;
  } // JSObjProcessClasses createProcessClasses()

  // /**
  // * Create an instance of {@link RunTime }
  // *
  // */
  // public RunTime createRunTime() {
  // return new RunTime();
  // }
  //
  /**
   * Create an instance of {@link JSObjEnvironment }
   *
   */
  public JSObjEnvironment createEnvironment() {
    JSObjEnvironment objEnvironment = new JSObjEnvironment(this);
    return objEnvironment;
  }

  /**
   * Create an instance of {@link JSCmdScheduleRemove }
   *
   */
  public JSCmdScheduleRemove createScheduleRemove() {
    JSCmdScheduleRemove objScheduleRemove = new JSCmdScheduleRemove(this);
    return objScheduleRemove;
  }

  /**
   * Create an instance of {@link JSCmdRemoteSchedulerStartRemoteTask }
   *
   */
  public JSCmdRemoteSchedulerStartRemoteTask createRemoteSchedulerStartRemoteTask() {
    JSCmdRemoteSchedulerStartRemoteTask objRemoteSchedulerStartRemoteTask = new JSCmdRemoteSchedulerStartRemoteTask(this);
    return objRemoteSchedulerStartRemoteTask;
  }

  /**
   * Create an instance of {@link JSCmdKillTask }
   *
   */
  public JSCmdKillTask createKillTask() {
    JSCmdKillTask objKillTask = new JSCmdKillTask(this);
    return objKillTask;
  }

  // /**
  // * Create an instance of {@link Job.Description }
  // *
  // */
  // public Job.Description createJobDescription() {
  // return new Job.Description();
  // }
  //
  // /**
  // * Create an instance of {@link Job.LockUse }
  // *
  // */
  // public Job.LockUse createJobLockUse() {
  // return new Job.LockUse();
  // }
  //
  // /**
  // * Create an instance of {@link Params.CopyParams }
  // *
  // */
  // public Params.CopyParams createParamsCopyParams() {
  // return new Params.CopyParams();
  // }
  //
  // /**
  // * Create an instance of {@link Params.Include }
  // *
  // */
  // public Params.Include createParamsInclude() {
  // return new Params.Include();
  // }
  //
  /**
   * Create an instance of {@link JSObjScript }
   *
   */
  public JSObjScript createScript() {
    JSObjScript objScript = new JSObjScript(this);
    return objScript;
  }

  /**
   * \creator JSObjInclude
   * \type Obj
   * \brief JSObjInclude - linked file for its parent object
   *
   * \details
   * Linked file for its parent object like Script, Description, Holidays and Params
   *
   * \created 10.02.2011 08:40:51 by oh
   */
  public JSObjInclude createInclude() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createInclude";
    JSObjInclude objInclude = new JSObjInclude(this);
    return objInclude;
  } // JSObjInclude createInclude()

  // /**
  // * Create an instance of {@link Job.Process }
  // *
  // */
  // public Job.Process createJobProcess() {
  // return new Job.Process();
  // }
  //
  // /**
  // * Create an instance of {@link Job.Monitor }
  // *
  // */
  // public Job.Monitor createJobMonitor() {
  // return new Job.Monitor();
  // }
  //
  // /**
  // * Create an instance of {@link Job.StartWhenDirectoryChanged }
  // *
  // */
  // public Job.StartWhenDirectoryChanged createJobStartWhenDirectoryChanged() {
  // return new Job.StartWhenDirectoryChanged();
  // }
  //
  // /**
  // * Create an instance of {@link Job.DelayAfterError }
  // *
  // */
  // public Job.DelayAfterError createJobDelayAfterError() {
  // return new Job.DelayAfterError();
  // }
  //
  // /**
  // * Create an instance of {@link Job.DelayOrderAfterSetback }
  // *
  // */
  // public Job.DelayOrderAfterSetback createJobDelayOrderAfterSetback() {
  // return new Job.DelayOrderAfterSetback();
  // }
  //
  /**
   * \creator JSObjCommands
   * \type Obj
   * \brief JSObjCommands - contains exit code dependent commands
   *
   * \details
   * contains exit code dependent commands
   *
   * \created 09.02.2011 17:22:01 by oh
   */
  public JSObjCommands createCommands() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createCommands";
    JSObjCommands objCommands = new JSObjCommands(this);
    return objCommands;
  } // JSObjCommands createCommands()

  /**
   * \creator JSObjConfigurationDirectory
   * \type Obj
   * \brief JSObjConfigurationDirectory - configure the Hot Folder path
   *
   * \details
   * configure the Hot Folder path
   *
   * \created 09.02.2011 17:26:18 by oh
   */
  public JSObjConfigurationDirectory createConfigurationDirectory() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createConfigurationDirectory";
    JSObjConfigurationDirectory objConfigurationDirectory = new JSObjConfigurationDirectory(this);
    return objConfigurationDirectory;
  } // JSObjConfigurationDirectory createConfigurationDirectory()

  /**
   * \creator JSObjConfigurationFile
   * \type Obj
   * \brief JSObjConfigurationFile
   *
   * \details
   *
   *
   * \created 09.02.2011 17:31:59 by oh
   */
  public JSObjConfigurationFile createConfigurationFile() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createConfigurationFile";
    JSObjConfigurationFile objConfigurationFile = new JSObjConfigurationFile(this);
    return objConfigurationFile;
  } // JSObjConfigurationFile createConfigurationFile()

  /**
   * \creator JSCmdSubsystemShow
   * \type Cmd
   * \brief JSCmdSubsystemShow - requests subsystems
   *
   * \details
   * Requests subsystems (job, job_chain, order, schedule, lock, cluster, folder)
   *
   * \created 09.02.2011 13:51:32 by oh
   */
  public JSCmdSubsystemShow createSubsystemShow() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSubsystemShow";
    JSCmdSubsystemShow objSubsystemShow = new JSCmdSubsystemShow(this);
    return objSubsystemShow;
  } // JSCmdSubsystemShow createSubsystemShow()

  /**
   * Create an instance of {@link JSCmdStartJob }
   *
   */
  public JSCmdStartJob createStartJob() {
    JSCmdStartJob objStartJobCmd = new JSCmdStartJob(this);
    return objStartJobCmd;
  }

  /**
   * Create an instance of {@link JSCmdShowCalendar }
   *
   */
  public JSCmdShowCalendar createShowCalendar() {
    JSCmdShowCalendar objShowCalendarCmd = new JSCmdShowCalendar(this);
    return objShowCalendarCmd;
  }

  public JSCmdShowState createShowState() {
    JSCmdShowState objShowStateCmd = new JSCmdShowState(this);
    return objShowStateCmd;
  }

  public JSCmdShowState createShowState(enu4What enuWhat) {
    JSCmdShowState objShowStateCmd = new JSCmdShowState(this);
    objShowStateCmd.setWhat(enuWhat);
    return objShowStateCmd;
  }

  public JSCmdShowState createShowState(enu4What[] enuWhat) {
    JSCmdShowState objShowStateCmd = new JSCmdShowState(this);
    objShowStateCmd.setWhat(enuWhat);
    return objShowStateCmd;
  }

  public JSCmdShowJob createShowJob() {
    JSCmdShowJob objShowJobCmd = new JSCmdShowJob(this);
    return objShowJobCmd;
  }

  public JSCmdShowJobs createShowJobs() {
    JSCmdShowJobs objShowJobsCmd = new JSCmdShowJobs(this);
    return objShowJobsCmd;
  }

  // public JSCmdShowJobs createShowJobs(enu4What enuWhat) {
  // JSCmdShowJobs objShowJobsCmd = new JSCmdShowJobs(this);
  // objShowJobsCmd.setWhat(enuWhat);
  // return objShowJobsCmd;
  // }
  // public JSCmdShowJobs createShowJobs(enu4What[] enuWhat) {
  // JSCmdShowJobs objShowJobsCmd = new JSCmdShowJobs(this);
  // objShowJobsCmd.setWhat(enuWhat);
  // return objShowJobsCmd;
  // }
  public JSCmdShowJobs createShowJobs(enu4What... enuWhat) {
    JSCmdShowJobs objShowJobsCmd = new JSCmdShowJobs(this);
    objShowJobsCmd.setWhat(enuWhat);
    return objShowJobsCmd;
  }

  public JSCmdShowTask createShowTask() {
    JSCmdShowTask objShowTaskCmd = new JSCmdShowTask(this);
    return objShowTaskCmd;
  }

  public JSCmdShowTask createShowTask(enu4What enuWhat) {
    JSCmdShowTask objShowTaskCmd = new JSCmdShowTask(this);
    objShowTaskCmd.setWhat(enuWhat);
    return objShowTaskCmd;
  }

  public JSCmdShowTask createShowTask(enu4What[] enuWhat) {
    JSCmdShowTask objShowTaskCmd = new JSCmdShowTask(this);
    objShowTaskCmd.setWhat(enuWhat);
    return objShowTaskCmd;
  }

  public JSCmdShowOrder createShowOrder() {
    JSCmdShowOrder objShowOrderCmd = new JSCmdShowOrder(this);
    return objShowOrderCmd;
  }

  public JSCmdShowJobChain createShowJobChain() {
    JSCmdShowJobChain objShowJobChainCmd = new JSCmdShowJobChain(this);
    return objShowJobChainCmd;
  }

  public JSCmdShowJobChains createShowJobChains() {
    JSCmdShowJobChains objShowJobChainsCmd = new JSCmdShowJobChains(this);
    return objShowJobChainsCmd;
  }

  public JSCmdShowHistory createShowHistory() {
    JSCmdShowHistory objShowHistoryCmd = new JSCmdShowHistory(this);
    return objShowHistoryCmd;
  }

  /**
   * Create an instance of {@link JSCmdModifyJob }
   *
   */
  public JSCmdModifyJob createModifyJob() {
    JSCmdModifyJob objModifyJob = new JSCmdModifyJob(this);
    return objModifyJob;
  }

  /**
   * \creator JSCmdJobChainModify
   * \type Cmd
   * \brief JSCmdJobChainModify - stops and unstops a job chain
   *
   * \details
   * Stops and unstops a job chain
   *
   * \created 09.02.2011 13:42:11 by oh
   */
  public JSCmdJobChainModify createJobChainModify() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createJobChainModify";
    JSCmdJobChainModify objJobChainModify = new JSCmdJobChainModify(this);
    return objJobChainModify;
  } // JSCmdJobChainModify createJobChainModify()

  /**
   * Create an instance of {@link JSCmdRemoveJobChain }
   *
   */
  public JSCmdRemoveJobChain createRemoveJobChain() {
    JSCmdRemoveJobChain objRemoveJobChain = new JSCmdRemoveJobChain(this);
    return objRemoveJobChain;
  }

  /**
   * Create an instance of {@link JSCmdProcessClassRemove }
   *
   */
  public JSCmdProcessClassRemove createProcessClassRemove() {
    JSCmdProcessClassRemove objProcessClassRemove = new JSCmdProcessClassRemove(this);
    return objProcessClassRemove;
  }

  /**
   * Create an instance of {@link JSCmdCheckFolders }
   *
   */
  public JSCmdCheckFolders createCheckFolders() {
    JSCmdCheckFolders objCheckFolders = new JSCmdCheckFolders(this);
    return objCheckFolders;
  }

  /**
   * Create an instance of {@link JSCmdModifySpooler }
   *
   */
  public JSCmdModifySpooler createModifySpooler() {
    JSCmdModifySpooler objModifySpooler = new JSCmdModifySpooler(this);
    return objModifySpooler;
  }

  /**
   * Create an instance of {@link JSCmdEventsGet }
   *
   */
  public JSCmdEventsGet createEventsGet() {
    JSCmdEventsGet objEventsGet = new JSCmdEventsGet(this);
    return objEventsGet;
  }

  /**
   * Create an instance of {@link JSCmdRemoveOrder }
   *
   */
  public JSCmdRemoveOrder createRemoveOrder() {
    JSCmdRemoveOrder objRemoveOrder = new JSCmdRemoveOrder(this);
    return objRemoveOrder;
  }

  /**
   * Create an instance of {@link JSCmdSchedulerLogLogCategoriesReset }
   *
   */
  public JSCmdSchedulerLogLogCategoriesReset createSchedulerLogLogCategoriesReset() {
    JSCmdSchedulerLogLogCategoriesReset objSchedulerLogLogCategoriesReset = new JSCmdSchedulerLogLogCategoriesReset(this);
    return objSchedulerLogLogCategoriesReset;
  }

  /**
   * \creator JSCmdTerminate
   * \type Cmd
   * \brief JSCmdTerminate - terminates one Job Scheduler or all of the same cluster
   *
   * \details
   * Terminates the current Job Scheduler or all of its cluster.
   *
   * \created 09.02.2011 14:00:31 by oh
   */
  public JSCmdTerminate createTerminate() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createTerminate";
    JSCmdTerminate objTerminate = new JSCmdTerminate(this);
    return objTerminate;
  } // JSCmdTerminate createTerminate()

  /**
   * Create an instance of {@link JSCmdRemoteSchedulerRemoteTaskClose }
   *
   */
  public JSCmdRemoteSchedulerRemoteTaskClose createRemoteSchedulerRemoteTaskClose() {
    JSCmdRemoteSchedulerRemoteTaskClose objRemoteSchedulerRemoteTaskClose = new JSCmdRemoteSchedulerRemoteTaskClose(this);
    return objRemoteSchedulerRemoteTaskClose;
  }

  /**
   * Create an instance of {@link JSCmdLockRemove }
   *
   */
  public JSCmdLockRemove createLockRemove() {
    JSCmdLockRemove objLockRemove = new JSCmdLockRemove(this);
    return objLockRemove;
  }

  /**
   * \creator JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles
   * \type Cmd
   * \brief JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles - CreatorTitle
   *
   * \details
   * CreatorDescription
   *
   * \created 09.02.2011 13:57:39 by oh
   */
  public JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles createSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles() {
    @SuppressWarnings("unused")
    final String conMethodName = conClassName + "::createSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles";
    JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles objSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles = new JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles(
        this);
    return objSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles;
  } // JSCmdSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles createSupervisorRemoteSchedulerConfigurationFetchUpdatedFiles()

  /**
   * Create an instance of {@link JSCmdJobChainNodeModify }
   *
   */
  public JSCmdJobChainNodeModify createJobChainNodeModify() {
    JSCmdJobChainNodeModify objJobChainNodeModify = new JSCmdJobChainNodeModify(this);
    return objJobChainNodeModify;
  }

  /**
   * Create an instance of {@link JSCmdModifyOrder }
   *
   */
  public JSCmdModifyOrder createModifyOrder() {
    JSCmdModifyOrder objModifyOrder = new JSCmdModifyOrder(this);
    return objModifyOrder;
  }

  /**
   * Create an instance of {@link JSCmdParamGet }
   *
   */
  public JSCmdParamGet createParamGet() {
    JSCmdParamGet objParamGet = new JSCmdParamGet(this);
    return objParamGet;
  }

  /**
   * Create an instance of {@link JSCmdModifyHotFolder }
   *
   */
  public JSCmdModifyHotFolder createModifyHotFolder() {
    JSCmdModifyHotFolder objModifyHotFolder = new JSCmdModifyHotFolder(this);
    return objModifyHotFolder;
  }

  /**
   * Create an instance of {@link JSCmdAddJobs }
   *
   */
  public JSCmdAddJobs createAddJobs() {
    JSCmdAddJobs objAddJobs = new JSCmdAddJobs(this);
    return objAddJobs;
  }

  /**
   * Create an instance of {@link JSCmdAddOrder }
   *
   */
  public JSCmdAddOrder createAddOrder() {
    JSCmdAddOrder objAddJobs = new JSCmdAddOrder(this);
    return objAddJobs;
  }

  /**
   * Create an instance of {@link JSCmdSchedulerLogLogCategoriesSet }
   *
   */
  public JSCmdSchedulerLogLogCategoriesSet createSchedulerLogLogCategoriesSet() {
    JSCmdSchedulerLogLogCategoriesSet objSchedulerLogLogCategoriesSet = new JSCmdSchedulerLogLogCategoriesSet(this);
    return objSchedulerLogLogCategoriesSet;
  }

  /**
   * Create an instance of {@link Spooler.Answer }
   *
   */
  public Spooler.Answer createSpoolerAnswer() {
    return new Spooler.Answer();
  }

  /**
   * Create an instance of {@link JSCmdLicenceUse }
   *
   */
  public JSCmdLicenceUse createLicenceUse() {
    JSCmdLicenceUse objLicenceUse = new JSCmdLicenceUse(this);
    return objLicenceUse;
  }
}
TOP

Related Classes of com.sos.scheduler.model.SchedulerObjectFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.