# ** meta exceptions
class LanguageModelNotFoundError(Exception):
    """Error raised if a given language model could not be loaded successfully"""


# ** token graph exceptions
class EdgePropertyNotContainedError(Exception):
    """Error raised if a needed edge property is not contained in graph edges"""


class EmptyGraphError(Exception):
    """Error raised if an operation should be performed on the graph,
    but it does not contain any nodes or edges"""


class EmptyEdgesError(EmptyGraphError):
    """Error raised if action should be performed on a graph's edges, but
    it does not contain any"""


class GraphRenderError(Exception):
    """Error raised if a graph object can not be rendered"""


class DependencyMissingError(Exception):
    """Error raised if needed dependency could not be found"""


# ** pipelines to perform given actions on dataset in a customisable manner
class NoPerformableActionError(Exception):
    """Error describing that no action is available in the current pipeline"""


class WrongActionTypeError(Exception):
    """Error raised if added action type is not supported by corresponding pipeline"""


class OutputInPipelineContainerError(Exception):
    """Error raised if an output was detected by one of the performed
    actions in a PipelineContainer. Each action in a PipelineContainer is itself a
    procedure which does not have any parameters or return values and should therefore not
    return any values."""
