CQWorkflowDataWrapper.java 2.63 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.workflow.exec.WorkflowData
 *  com.adobe.granite.workflow.metadata.MetaDataMap
 *  com.day.cq.workflow.exec.WorkflowData
 *  com.day.cq.workflow.metadata.MetaDataMap
 */
package com.day.cq.workflow.impl.exec;

import com.adobe.granite.workflow.exec.WorkflowData;
import com.adobe.granite.workflow.metadata.MetaDataMap;
import com.day.cq.workflow.impl.metadata.CQMetaDataMap;
import com.day.cq.workflow.impl.util.LegacyMetaDataWrapperImpl;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Dictionary;

public class CQWorkflowDataWrapper
implements com.day.cq.workflow.exec.WorkflowData {
    public static final String TYPE_JAVA_OBJECT = "JAVA_OBJECT";
    public static final String TYPE_JCR_PATH = "JCR_PATH";
    public static final String TYPE_JCR_UUID = "JCR_UUID";
    public static final String TYPE_URL = "URL";
    public static final String TYPE_BINARY = "BINARY";
    private WorkflowData graniteData;

    public CQWorkflowDataWrapper(WorkflowData data) {
        this.graniteData = data;
    }

    public Object getPayload() {
        return this.graniteData.getPayload();
    }

    public String getPayloadType() {
        return this.graniteData.getPayloadType();
    }

    public Dictionary<String, String> getMetaData() {
        return new LegacyMetaDataWrapperImpl(this.graniteData.getMetaDataMap());
    }

    public com.day.cq.workflow.metadata.MetaDataMap getMetaDataMap() {
        return new CQMetaDataMap(this.graniteData.getMetaDataMap());
    }

    public void setPayload(Object payload) {
        try {
            Method method = this.graniteData.getClass().getDeclaredMethod("setPayload", Object.class);
            method.invoke((Object)this.graniteData, payload);
        }
        catch (NoSuchMethodException e) {
            throw new RuntimeException(e);
        }
        catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        }
        catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }

    public void setPayloadType(String type) {
        try {
            Method method = this.graniteData.getClass().getDeclaredMethod("setPayloadType", String.class);
            method.invoke((Object)this.graniteData, type);
        }
        catch (NoSuchMethodException e) {
            throw new RuntimeException(e);
        }
        catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        }
        catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }
}