ShrinkWrap has the notion of views to wrap a Archive. While a view can be anything, some of the views describes types of Archives, e.g. WebArchive. A Archive should be able to tell which type it is. Even tho the content structure to some extent define the type, external sources like a Container will determine the type of the Archive soley on the archive name extension.
A simple check if the current archive name ends with the Types defined extension mapping should work in most cases.