KernelQedeqBo.java
001 package org.qedeq.kernel.bo.module;
002 
003 import org.qedeq.kernel.bo.common.QedeqBo;
004 import org.qedeq.kernel.se.common.LogicalModuleState;
005 import org.qedeq.kernel.se.common.ModuleDataException;
006 import org.qedeq.kernel.se.common.Plugin;
007 import org.qedeq.kernel.se.common.SourceFileException;
008 import org.qedeq.kernel.se.common.SourceFileExceptionList;
009 
010 /**
011  * Kernel internal QedeqBo with additional methods.
012  *
013  @author  Michael Meyling
014  */
015 public interface KernelQedeqBo extends QedeqBo {
016 
017     /**
018      * Get internal kernel services.
019      *
020      @return  Internal kernel services.
021      */
022     public InternalKernelServices getKernelServices();
023 
024     /**
025      * Get labels and URLs of all referenced modules.
026      *
027      @return  URLs of all referenced modules.
028      */
029     public KernelModuleReferenceList getKernelRequiredModules();
030 
031     /**
032      * Get label references for QEDEQ module.
033      *
034      @return  Label references.
035      */
036     public ModuleLabels getLabels();
037 
038     /**
039      * Return mapper for transforming elements into LaTeX.
040      *
041      @return  Transformer to get LaTeX out of elements.
042      */
043     public Element2Latex getElement2Latex();
044 
045     /**
046      * Return mapper for transforming elements into UTF-8 text.
047      *
048      @return  Transformer to get UTF-8 text out of elements.
049      */
050     public Element2Utf8 getElement2Utf8();
051 
052     /**
053      * Create exception out of {@link ModuleDataException}.
054      *
055      @param   plugin      This plugin generated the error.
056      @param   exception   Take this exception.
057      @return  Newly created instance.
058      */
059     public SourceFileException createSourceFileException(Plugin plugin, ModuleDataException
060             exception);
061 
062     /**
063      * Add errors and warnings for plugin.
064      *
065      @param plugin    Add errors for this plugin.
066      @param errors    These errors occurred.
067      @param warnings  These warnings occurred.
068      */
069     public void addPluginErrorsAndWarnings(Plugin plugin, SourceFileExceptionList errors,
070             SourceFileExceptionList warnings);
071 
072 
073     /**
074      * Remove all errors and warnings for all plugins.
075      */
076     public void clearAllPluginErrorsAndWarnings();
077 
078     /**
079      * Get the predicate and function existence checker. Is only not <code>null</code>
080      * if logic was successfully checked.
081      *
082      @return  Checker. Checks if a predicate or function constant is defined.
083      */
084     public ModuleConstantsExistenceChecker getExistenceChecker();
085 
086     /**
087      * Set failure module state.
088      *
089      @param   stateExternalCheckingFailed   Module state.
090      @param   sfl                           Exception that occurred during loading.
091      @throws  IllegalArgumentException    <code>state</code> is no failure state
092      */
093     public void setLogicalFailureState(LogicalModuleState stateExternalCheckingFailed,
094             final SourceFileExceptionList sfl);
095 
096     /**
097      * Set loading progress module state. Must not be <code>null</code>.
098      *
099      @param   stateInternalChecking   module state
100      */
101     public void setLogicalProgressState(LogicalModuleState stateInternalChecking);
102 
103     /**
104      * Set {@link ModuleConstantsExistenceCheckerImpl}. Doesn't do any status handling.
105      *
106      @param   existence   Set this checker.
107      */
108     public void setExistenceChecker(ModuleConstantsExistenceChecker existence);
109 
110     /**
111      * Set logic checked state. Also set the predicate and function existence checker.
112      *
113      @param   checker Checks if a predicate or function constant is defined.
114      */
115     public void setChecked(final ModuleConstantsExistenceChecker checker);
116 
117 
118 }