001/* 002 * (C) Copyright 2010 Nuxeo SA (http://nuxeo.com/) and contributors. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the GNU Lesser General Public License 006 * (LGPL) version 2.1 which accompanies this distribution, and is available at 007 * http://www.gnu.org/licenses/lgpl.html 008 * 009 * This library is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 * Lesser General Public License for more details. 013 * 014 * Contributors: 015 * Anahide Tchertchian 016 */ 017package org.nuxeo.ecm.platform.contentview.jsf; 018 019import java.io.Serializable; 020 021/** 022 * Content view layout definition 023 * 024 * @author Anahide Tchertchian 025 * @since 5.4 026 */ 027public interface ContentViewLayout extends Serializable { 028 029 /** 030 * Returns the name of the layout 031 */ 032 String getName(); 033 034 /** 035 * Returns a title for this content view layout 036 */ 037 String getTitle(); 038 039 /** 040 * Returns a boolean stating if title has to be translated 041 */ 042 boolean getTranslateTitle(); 043 044 /** 045 * Returns the icon relative path for this content view layout 046 */ 047 String getIconPath(); 048 049 /** 050 * Returns true if CSV export is enabled for this layout. Defaults to false. 051 * 052 * @since 5.4.2 053 */ 054 boolean getShowCSVExport(); 055 056 /** 057 * Returns true if PDF export is enabled for this layout. Defaults to false. 058 * 059 * @since 5.4.2 060 */ 061 boolean getShowPDFExport(); 062 063 /** 064 * Returns true if syndication links are enabled for this layout. Defaults to false. 065 * 066 * @since 5.5 067 */ 068 boolean getShowSyndicationLinks(); 069 070 /** 071 * Returns true if 'slide show' link is enabled for this layout. Defaults to false. 072 * 073 * @since 6.0 074 */ 075 boolean getShowSlideshow(); 076 077 /** 078 * Returns true if 'edit columns' link is enabled for this layout. Defaults to false. 079 * 080 * @since 6.0 081 */ 082 boolean getShowEditColumns(); 083 084 /** 085 * Returns true if 'edit rows' link is enabled for this layout. Defaults to false. 086 * <p> 087 * This marker is only useful to handle layout column selection when columns are actually rows (or display content 088 * differently that using columns). 089 * 090 * @since 6.0 091 */ 092 boolean getShowEditRows(); 093 094 /** 095 * Returns true if 'spreadsheet' link is enabled for this layout. Defaults to false. 096 * 097 * @since 6.0 098 */ 099 boolean getShowSpreadsheet(); 100 101 /** 102 * Returns the filter display type to handle different kinds of filter display. 103 * 104 * @since 5.5 105 */ 106 String getFilterDisplayType(); 107 108 /** 109 * Returns true is the filter should be unfolded by default. 110 * <p> 111 * Does not have any impact on the filter display if filter display type is "quick" (i.e. opens in a popup) 112 * 113 * @since 5.7.2 114 */ 115 boolean isFilterUnfolded(); 116 117 ContentViewLayout clone(); 118 119}