package org.jboss.media.format.image.iio;
import javax.emb.MediaHeader;
import javax.imageio.metadata.IIOMetadata;
import org.jboss.media.util.DOMUtils;
import org.w3c.dom.Node;
public abstract class IIOMediaHeader implements MediaHeader
{
protected IIOMetadata imageMetadata;
protected Node metadataRootNode;
public IIOMediaHeader(IIOMetadata imageMetadata, String formatName)
{
this.imageMetadata = imageMetadata;
this.metadataRootNode = imageMetadata.getAsTree(formatName);
}
public abstract String[] getFieldNames();
public abstract Object getField(String fieldname);
protected Node getNode(String node)
{
return getNode(metadataRootNode, node);
}
protected Node getNode(Node parentNode, String node)
{
return DOMUtils.findNode(parentNode, node);
}
protected String getAttribute(String node, String attribute)
{
return getAttribute(getNode(node), attribute);
}
protected String getAttribute(Node node, String attribute)
{
return DOMUtils.getNodeAttribute(node, attribute);
}
}