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 }
|