/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.datasource.el.accessors; import com.enonic.cms.core.content.ContentEntity; import com.enonic.cms.core.portal.datasource.el.ExpressionContext; import com.enonic.cms.core.structure.menuitem.MenuItemEntity; import com.enonic.cms.core.structure.menuitem.MenuItemKey; import com.enonic.cms.core.structure.menuitem.MenuItemType; public final class PortalAccessor { public final ExpressionContext expressionContext; public PortalAccessor( final ExpressionContext expressionContext ) { this.expressionContext = expressionContext; } public boolean getIsWindowInline() { if ( expressionContext.isPortletWindowRenderedInline() != null ) { return expressionContext.isPortletWindowRenderedInline(); } return false; } public String getInstanceKey() { if ( expressionContext.getPortalInstanceKey() != null ) { return expressionContext.getPortalInstanceKey().toString(); } return null; } public String getLocale() { if ( expressionContext.getLocale() != null ) { return expressionContext.getLocale().toString(); } return null; } public String getWindowKey() { if ( expressionContext.getPortalInstanceKey() != null && expressionContext.getPortalInstanceKey().isWindow() ) { return expressionContext.getPortalInstanceKey().getWindowKey().asString(); } return null; } public String getPageKey() { if ( expressionContext.getPortalInstanceKey() != null ) { final MenuItemKey menuItemKey = expressionContext.getPortalInstanceKey().getMenuItemKey(); if ( menuItemKey != null ) { return menuItemKey.toString(); } } return null; } public String getSiteKey() { return expressionContext.getSite().getKey().toString(); } public String getContentKey() { if ( expressionContext.getContentFromRequest() != null ) { return expressionContext.getContentFromRequest().getKey().toString(); } final MenuItemEntity menuItem = expressionContext.getMenuItem(); if ( menuItem == null || menuItem.getType() != MenuItemType.CONTENT ) { return null; } final ContentEntity content = menuItem.getContent(); if ( content == null ) { return null; } return content.getKey().toString(); } public String getDeviceClass() { return expressionContext.getDeviceClass(); } }