# Source code for fontTools.ttLib.tables.DefaultTable

    from fontTools.misc.textTools import Tag
    from fontTools.ttLib import getClassTag

    class DefaultTable(object):
        dependencies = []

        def __init__(self, tag=None):
            if tag is None:
                tag = getClassTag(self.__class__)
            self.tableTag = Tag(tag)

        def decompile(self, data, ttFont):
            self.data = data

        def compile(self, ttFont):
            return self.data

        def toXML(self, writer, ttFont, **kwargs):
            if hasattr(self, "ERROR"):
                writer.comment("An error occurred during the decompilation of this table")
                writer.newline()
                writer.comment(self.ERROR)
                writer.newline()
            writer.begintag("hexdata")
            writer.newline()
            writer.dumphex(self.compile(ttFont))
            writer.endtag("hexdata")
            writer.newline()

        def fromXML(self, name, attrs, content, ttFont):
            from fontTools.misc.textTools import readHex
            from fontTools import ttLib

            if name != "hexdata":
                raise ttLib.TTLibError("can't handle '%s' element" % name)
            self.decompile(readHex(content), ttFont)

        def __repr__(self):
            return "<'%s' table at %x>" % (self.tableTag, id(self))

        def __eq__(self, other):
            if type(self) != type(other):
                return NotImplemented
            return self.__dict__ == other.__dict__

        def __ne__(self, other):
            result = self.__eq__(other)
            return result if result is NotImplemented else not result