org.opencastproject.metadata.mpeg7.Mpeg7Catalog Maven / Gradle / Ivy
/**
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License
* at:
*
* http://opensource.org/licenses/ecl2.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
*/
package org.opencastproject.metadata.mpeg7;
import org.opencastproject.mediapackage.MediaPackageElementFlavor;
import org.opencastproject.metadata.api.MetadataCatalog;
import org.w3c.dom.Document;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
/**
* The MPEG7
catalog encapsulates MPEG-7 metadata.
*/
public interface Mpeg7Catalog extends Mpeg7, MetadataCatalog, Cloneable {
/** A flavor that matches any mpeg7 element */
MediaPackageElementFlavor ANY_MPEG7 = MediaPackageElementFlavor.parseFlavor("mpeg-7/*");
/**
* Saves the catalog to disk.
*
* todo think about hiding technical exceptions
*
* @throws ParserConfigurationException
* if the xml parser environment is not correctly configured
* @throws TransformerException
* if serialization of the metadata document fails
* @throws IOException
* if an error with catalog file handling occurs
*/
Document toXml() throws ParserConfigurationException, TransformerException, IOException;
Mpeg7Catalog clone();
}