All Implemented Interfaces:
WorkflowTags, IO, ProCAKEWriter

public class WorkflowWriter extends AbstractXMLWriter implements WorkflowTags
This class serializes CAKE1-Workflows.
Author:
Alexander Stromer
  • Field Details

  • Constructor Details

    • WorkflowWriter

      public WorkflowWriter()
  • Method Details

    • getName

      public String getName()
      Each io component must have a name that is used in IOFactory.newIO(String). The name must be unique thus it is usefull to use a short description or to the class name ( this.getClass().getName()).
      Specified by:
      getName in interface IO
      Returns:
      Returns the name of the io component.
    • isHandlerFor

      public boolean isHandlerFor(Class value)
      Checks if the io component is capable to perform the operation for objects of this class.

      A typical implementation looks like:

       public boolean isHandlerFor(Class value) {
              if (DataObject.class.isAssignableFrom(value))
                      return true;
              return false;
       }
       
      Specified by:
      isHandlerFor in interface IO
      Parameters:
      value - The class that has to be checked.
      Returns:
      Results true if the class can oeprate with the given class.
    • copy

      public IO copy()
      overwritten copy-method from Object; use it to copy a complete operator
      Specified by:
      copy in interface IO
      Returns:
    • insertNamespace

      public void insertNamespace(GenericXMLSchemaBasedWriter writer)
      Adds the namespace-imports of this handler to the given xmlWriter.
      Specified by:
      insertNamespace in class AbstractXMLWriter
      Parameters:
      writer - a GenericXMLSchemaBasedWriter object
    • store

      public void store(Object value, GenericXMLSchemaBasedWriter writer) throws CAKEIOException
      To embed xml writers into another one it must be possible to specify the parent GenericXMLSchemaBasedWriter as well as a prefix that should be probably used. If a parent writer is specified, no header will be written.

      If the writer does not support XML writing, the writer should throw an UnsupportedOperationException.

       public void store(Object value, String prefix, XMLWriter writer) throws CakeIOException {
              throw new UnsupportedOperationException();
       }
       
      Specified by:
      store in class AbstractXMLWriter
      Parameters:
      value - a Object object
      writer - A parent writer that is used.
      Throws:
      CAKEIOException - if any.
    • writeReasoningWorkflow

      Writes the complete workflow-content of the given AdaptationCase-object.
      Parameters:
      value - The AdapationCase-object from which the workflow should be written.
      writer - The writer to write the output to.
      Throws:
      XMLStreamException
      CAKEIOException
      IOException
      InvalidNativeValueException