All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cognifide.slice.cq.model.WcmModeModel Maven / Gradle / Ivy

The newest version!
package com.cognifide.slice.cq.model;

/*-
 * #%L
 * Slice - CQ Add-on
 * $Id:$
 * $HeadURL:$
 * %%
 * Copyright (C) 2012 Cognifide Limited
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import com.day.cq.wcm.api.WCMMode;
import com.google.inject.Inject;

/**
 * Stores WCM mode properties. WCM mode is a state of the page - can be either one of:
 * 
    *
  • DISABLED - (a.k.a publish mode), default mode on publish instance, no controls visible
  • *
  • EDIT - default mode on author instance, blue boxes visible
  • *
  • PREVIEW - default mode for author's preview, should render exactly what DISABLED does
  • *
  • READ_ONLY - default mode for author when a permission to write is not granted
  • *
  • DESIGN - allows setting e.g. paragraph system design properties on author instance
  • *
  • ANALYTICS - WCM is in analytics mode, added in AEM5.6
  • *
* * The class stores the raw WCM mode and a set of boolean variables to be set for ease of access in the view. * * @see com.day.cq.wcm.api.WCMMode * @author Jan Kuźniak */ public class WcmModeModel { /** * TODO what is this? */ public static final String REAL_AUTHOR = "REALAUTHOR"; private final WCMMode wcmMode; /** * Creates model instance. * * @param wcmMode the WCM mode. */ @Inject public WcmModeModel(final WCMMode wcmMode) { this.wcmMode = wcmMode; } /** @return the native WCM mode */ public WCMMode getWcmMode() { return wcmMode; } /** @return true if WCM is disabled, false otherwise */ public boolean isDisabled() { return wcmMode == WCMMode.DISABLED; } /** @return true if WCM is in edit mode, false otherwise */ public boolean isEdit() { return wcmMode == WCMMode.EDIT; } /** @return true if WCM is in preview mode, false otherwise */ public boolean isPreview() { return wcmMode == WCMMode.PREVIEW; } /** @return true if WCM is in read only mode, false otherwise */ public boolean isReadOnly() { return wcmMode == WCMMode.READ_ONLY; } /** @return true if WCM is in design, false otherwise */ public boolean isDesign() { return wcmMode == WCMMode.DESIGN; } /** @return true if WCM is in analytics, false otherwise */ public boolean isAnalytics() { return wcmMode == WCMMode.ANALYTICS; } /** @return true if WCM is in edit mode or design mode, false otherwise */ public boolean isAuthor() { return (wcmMode == WCMMode.EDIT) || (wcmMode == WCMMode.DESIGN); } /** @return true if WCM is neither in edit mode nor design mode, false otherwise */ public boolean isPublish() { return (wcmMode != WCMMode.EDIT) && (wcmMode != WCMMode.DESIGN); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy