PathRewriterOptions.java 1.83 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.cq.mobile.dps.impl.rewriter;

import java.util.HashMap;

public class PathRewriterOptions
extends HashMap<String, RewriteMode> {
    private static final long serialVersionUID = 7042302195945834350L;
    public static final String ATTRIBUTE_PATH_REWRITING_OPTIONS = "publishPathRewritingOptions";
    public static final String ATTRIBUTE_PATH_REWRITING_PAGE_TYPE = "publishPathRewritingPageType";
    public static final String OPTION_REWRITE_LINKS = "links";
    public static final String OPTION_REWRITE_CLIENTLIBS = "clientlibs";
    public static final String OPTION_REWRITE_IMAGES = "images";
    private PageType pageType = PageType.MAIN_PAGE;

    public PathRewriterOptions(RewriteMode links, RewriteMode clientlibs, RewriteMode images) {
        this.setRewriteMode("links", links);
        this.setRewriteMode("clientlibs", clientlibs);
        this.setRewriteMode("images", images);
    }

    public boolean isExternal(String option) {
        return this.getRewriteMode(option) == RewriteMode.REWRITE_EXTERNAL;
    }

    public boolean isRelative(String option) {
        return this.getRewriteMode(option) == RewriteMode.REWRITE_RELATIVE;
    }

    public RewriteMode getRewriteMode(String option) {
        return (RewriteMode)((Object)this.get(option));
    }

    public void setRewriteMode(String option, RewriteMode mode) {
        this.put(option, mode);
    }

    public void setPageType(PageType type) {
        this.pageType = type;
    }

    public PageType getPageType() {
        return this.pageType;
    }

    public static enum RewriteMode {
        REWRITE_EXTERNAL,
        REWRITE_RELATIVE;
        

        private RewriteMode() {
        }
    }

    public static enum PageType {
        MAIN_PAGE,
        SUB_PAGE;
        

        private PageType() {
        }
    }

}