XMPMetadataImpl.java 1.87 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.xmp.core.impl;

import com.adobe.xmp.core.XMPArray;
import com.adobe.xmp.core.XMPException;
import com.adobe.xmp.core.XMPLanguageAlternative;
import com.adobe.xmp.core.XMPMetadata;
import com.adobe.xmp.core.XMPNode;
import com.adobe.xmp.core.XMPNodeVisitor;
import com.adobe.xmp.core.XMPQualifiers;
import com.adobe.xmp.core.XMPSimple;
import com.adobe.xmp.core.XMPStruct;
import com.adobe.xmp.core.impl.XMPNodeCopyVisitor;
import com.adobe.xmp.core.impl.XMPNodeImpl;
import com.adobe.xmp.core.impl.XMPStructImpl;
import com.adobe.xmp.path.XMPPath;
import java.util.Iterator;
import java.util.Set;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public class XMPMetadataImpl
extends XMPStructImpl
implements XMPMetadata {
    private String objectName;

    public XMPMetadataImpl() {
        super(null, null, null);
    }

    @Override
    public String getAboutURI() {
        return this.objectName;
    }

    @Override
    public void setAboutURI(String objectName) {
        this.objectName = objectName;
    }

    @Override
    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
        if (!type.equals(XMPMetadata.class) && !type.equals(XMPStruct.class)) {
            return null;
        }
        return (AdapterType)this;
    }

    @Override
    public XMPMetadata clone() {
        XMPMetadataImpl clone = new XMPMetadataImpl();
        XMPNodeCopyVisitor visitor = new XMPNodeCopyVisitor(clone);
        for (XMPNode node : this) {
            node.accept(visitor);
        }
        return clone;
    }

    @Override
    public String dump() {
        StringBuffer result = new StringBuffer(512);
        this.dumpNode(result, true, 0, 0);
        return result.toString();
    }

    @Override
    public XMPQualifiers accessQualifiers() {
        return null;
    }
}