TranslationMetadataImpl.java 2.64 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.translation.api.TranslationConstants
 *  com.adobe.granite.translation.api.TranslationConstants$TranslationStatus
 *  com.adobe.granite.translation.api.TranslationMetadata
 *  com.adobe.granite.translation.api.TranslationScope
 *  com.adobe.granite.translation.api.TranslationState
 *  javax.jcr.RepositoryException
 */
package com.adobe.cq.wcm.translation.impl;

import com.adobe.cq.wcm.translation.impl.TranslationBaseObject;
import com.adobe.cq.wcm.translation.impl.TranslationScopeImpl;
import com.adobe.cq.wcm.translation.impl.TranslationStateImpl;
import com.adobe.granite.translation.api.TranslationConstants;
import com.adobe.granite.translation.api.TranslationMetadata;
import com.adobe.granite.translation.api.TranslationScope;
import com.adobe.granite.translation.api.TranslationState;
import javax.jcr.RepositoryException;

public class TranslationMetadataImpl
implements TranslationMetadata {
    TranslationBaseObject baseObject;
    TranslationScopeImpl initialScope;
    TranslationScopeImpl finalScope;
    TranslationStateImpl state;

    public TranslationMetadataImpl(TranslationBaseObject baseObject) {
        this.baseObject = baseObject;
        this.initialScope = new TranslationScopeImpl(baseObject, "initial_");
        this.finalScope = new TranslationScopeImpl(baseObject, "final_");
        this.state = new TranslationStateImpl(baseObject);
    }

    public void setObjectTranslationRequired(boolean bState) {
        this.baseObject.setAttribute("translationRequired", bState);
    }

    public boolean isObjectTranslationRequired() {
        return this.baseObject.getBooleanAttribute("translationRequired", true);
    }

    public boolean isMetadataTranslationRequired() {
        return this.baseObject.getBooleanAttribute("metadataTranslationRequired", true);
    }

    public boolean isSupportingObjectTranslationRequired() {
        return this.baseObject.getBooleanAttribute("supportingObjectTranslationRequired", false);
    }

    public int getPercentageComplete() {
        return this.baseObject.getIntAttribute("percentageComplete");
    }

    public TranslationState getTranslationState() {
        return this.state;
    }

    public TranslationScopeImpl getInitialScope() {
        return this.initialScope;
    }

    public TranslationScopeImpl getFinalScope() {
        return this.finalScope;
    }

    public void setTranslationStatus(TranslationConstants.TranslationStatus status, boolean bSave) throws RepositoryException {
        this.state.setStatus(status);
        if (bSave) {
            this.baseObject.save();
        }
    }
}