From 622abac057abff5bf418de3490f7ad78b409e1fe Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 9 Dec 2010 16:00:41 +0000 Subject: [PATCH] initial list of mime-type bindings to jalview data-file classes for JAL-719 --- src/jalview/io/mime/MimeTypes.java | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/jalview/io/mime/MimeTypes.java diff --git a/src/jalview/io/mime/MimeTypes.java b/src/jalview/io/mime/MimeTypes.java new file mode 100644 index 0000000..90265dc --- /dev/null +++ b/src/jalview/io/mime/MimeTypes.java @@ -0,0 +1,61 @@ +package jalview.io.mime; + +import jalview.io.packed.DataProvider.JvDataType; + +/** + * static functions for resolving Jalview datatypes from mime types + * @author JimP + * TODO: consider making get(Mime)TypeOf functions throw exceptions rather than returning null + */ +public class MimeTypes +{ + /** + * pair list {String,JvDataType} giving a mime-type followed by its associated JvDataType enumeration. + */ + final public static Object[] typemap = new Object[] { + "application/x-align",JvDataType.ALIGNMENT, + "application/x-jalview-annotation",JvDataType.ANNOTATION, + "application/x-newick",JvDataType.TREE, + "application/x-new-hampshire",JvDataType.TREE, + "application/x-new-hampshire-extended",JvDataType.TREE, + "application/x-nh",JvDataType.TREE, + "application/x-nhx",JvDataType.TREE, + "application/x-gff",JvDataType.FEATURES, + "application/x-gff3",JvDataType.FEATURES, + "application/x-jalview-feature-file",JvDataType.FEATURES, + "application/x-pdb",JvDataType.SEQASSOCATED}; + /** + * + * @param mimeType + * @return the associated jalview datatype or null if no mapping is available + */ + public static JvDataType getTypeOf(String mimeType) + { + String mt = mimeType.toLowerCase(); + for (int i=0;i