TranslationStateImpl.java 1.86 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.comments.Comment
 *  com.adobe.granite.translation.api.TranslationConstants
 *  com.adobe.granite.translation.api.TranslationConstants$TranslationStatus
 *  com.adobe.granite.translation.api.TranslationState
 */
package com.adobe.cq.wcm.translation.impl;

import com.adobe.cq.wcm.translation.impl.TranslationBaseObject;
import com.adobe.granite.comments.Comment;
import com.adobe.granite.translation.api.TranslationConstants;
import com.adobe.granite.translation.api.TranslationState;

public class TranslationStateImpl
implements TranslationState {
    TranslationBaseObject baseObject;
    boolean bReadFromCache;
    TranslationConstants.TranslationStatus cachedStatus;
    Comment comment = null;

    public TranslationStateImpl(TranslationBaseObject baseObject) {
        this.baseObject = baseObject;
        this.bReadFromCache = false;
    }

    public TranslationStateImpl(TranslationBaseObject baseObject, TranslationConstants.TranslationStatus cachedStatus) {
        this.baseObject = baseObject;
        this.cachedStatus = cachedStatus;
        this.bReadFromCache = true;
    }

    public TranslationConstants.TranslationStatus getStatus() {
        if (this.bReadFromCache) {
            return this.cachedStatus;
        }
        return TranslationConstants.TranslationStatus.fromString((String)this.baseObject.getStringAttribute("translationStatus"));
    }

    public void setStatus(TranslationConstants.TranslationStatus status) {
        if (this.bReadFromCache) {
            this.cachedStatus = status;
        } else {
            this.baseObject.setAttribute("translationStatus", status.toString());
        }
    }

    public Comment getComment() {
        return this.comment;
    }

    public void setComment(Comment comment) {
        this.comment = comment;
    }
}