From a1a18f77a50804e0127dfa4b0f5240c49c541184 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Mon, 2 Jul 2012 21:24:02 -0700 Subject: Initial Commit --- .../service/metadata/MetaDataParserFactory.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java (limited to 'subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java') diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java b/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java new file mode 100644 index 00000000..31b56be4 --- /dev/null +++ b/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java @@ -0,0 +1,51 @@ +/* + This file is part of Subsonic. + + Subsonic is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Subsonic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Subsonic. If not, see . + + Copyright 2009 (C) Sindre Mehus + */ +package net.sourceforge.subsonic.service.metadata; + +import java.io.File; +import java.util.List; + +/** + * Factory for creating meta-data parsers. + * + * @author Sindre Mehus + */ +public class MetaDataParserFactory { + + private List parsers; + + public void setParsers(List parsers) { + this.parsers = parsers; + } + + /** + * Returns a meta-data parser for the given file. + * + * @param file The file in question. + * @return An applicable parser, or null if no parser is found. + */ + public MetaDataParser getParser(File file) { + for (MetaDataParser parser : parsers) { + if (parser.isApplicable(file)) { + return parser; + } + } + return null; + } +} -- cgit v1.2.3