001/* 002 * (C) Copyright 2006-2007 Nuxeo SAS (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 * Nuxeo - initial API and implementation 016 * 017 * $Id: JOOoConvertPluginImpl.java 18651 2007-05-13 20:28:53Z sfermigier $ 018 */ 019 020package org.nuxeo.ecm.webapp.tree; 021 022import java.io.Serializable; 023import java.util.ArrayList; 024import java.util.List; 025 026import org.nuxeo.common.xmap.annotation.XNode; 027import org.nuxeo.common.xmap.annotation.XNodeList; 028import org.nuxeo.common.xmap.annotation.XObject; 029 030/** 031 * Plugin holding filter and sort configuration information for a document tree. 032 * 033 * @author Florent BONNET 034 * @author Anahide Tchertchian 035 */ 036@XObject("treeManagerPlugin") 037public class TreeManagerPluginDescriptor implements Serializable { 038 039 private static final long serialVersionUID = 1L; 040 041 @XNode("@name") 042 protected String name; 043 044 @XNode("filterClass") 045 protected String filterClassName; 046 047 @XNode("leafFilterClass") 048 protected String leafFilterClassName; 049 050 @XNode("sorterClass") 051 protected String sorterClassName; 052 053 /** 054 * @since 5.4.2 055 */ 056 @XNode("pageProvider") 057 protected String pageProvider; 058 059 @XNodeList(value = "excludedTypes/type", type = ArrayList.class, componentType = String.class) 060 protected List<String> excludedTypes; 061 062 @XNodeList(value = "excludedFacets/facet@name", type = ArrayList.class, componentType = String.class) 063 protected List<String> excludedFacets; 064 065 @XNodeList(value = "includedFacets/facet@name", type = ArrayList.class, componentType = String.class) 066 protected List<String> includedFacets; 067 068 @XNode("sortPropertyPath") 069 protected String sortPropertyPath; 070 071 public String getName() { 072 return name; 073 } 074 075 public String getFilterClassName() { 076 return filterClassName; 077 } 078 079 public String getLeafFilterClassName() { 080 return leafFilterClassName; 081 } 082 083 public String getSorterClassName() { 084 return sorterClassName; 085 } 086 087 public List<String> getExcludedTypes() { 088 return excludedTypes; 089 } 090 091 public List<String> getExcludedFacets() { 092 return excludedFacets; 093 } 094 095 public List<String> getIncludedFacets() { 096 return includedFacets; 097 } 098 099 public String getSortPropertyPath() { 100 return sortPropertyPath; 101 } 102 103 public String getPageProvider() { 104 return pageProvider; 105 } 106}