package org.jcodec.containers.mxf.model; import java.util.Iterator; import org.jcodec.common.logging.Logger; import java.nio.ByteBuffer; import java.util.Date; import java.util.Map; import java.util.Map.Entry; /** * This class is part of JCodec ( www.jcodec.org ) This software is distributed * under FreeBSD License * * @author The JCodec project * */ public class Identification extends MXFInterchangeObject { private UL thisGenerationUID; private String companyName; private String productName; private short versionString; private UL productUID; private Date modificationDate; private String platform; public Identification(UL ul) { super(ul); } @Override protected void read(Map<Integer, ByteBuffer> tags) { for (Iterator<Entry<Integer, ByteBuffer>> it = tags.entrySet().iterator(); it.hasNext();) { Entry<Integer, ByteBuffer> entry = it.next(); ByteBuffer _bb = entry.getValue(); switch (entry.getKey()) { case 0x3c09: thisGenerationUID = UL.read(_bb); break; case 0x3c01: companyName = readUtf16String(_bb); break; case 0x3c02: productName = readUtf16String(_bb); break; case 0x3c04: versionString = _bb.getShort(); break; case 0x3c05: productUID = UL.read(_bb); break; case 0x3c06: modificationDate = readDate(_bb); break; case 0x3c08: platform = readUtf16String(_bb); break; default: Logger.warn(String.format("Unknown tag [ " + ul + "]: %04x", entry.getKey())); continue; } it.remove(); } } public UL getThisGenerationUID() { return thisGenerationUID; } public String getCompanyName() { return companyName; } public String getProductName() { return productName; } public short getVersionString() { return versionString; } public UL getProductUID() { return productUID; } public Date getModificationDate() { return modificationDate; } public String getPlatform() { return platform; } }