001/* 002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Laurent Doguin 011 */ 012package org.nuxeo.ecm.core.versioning; 013 014import java.io.Serializable; 015import java.util.HashMap; 016import java.util.Map; 017 018import org.nuxeo.common.xmap.annotation.XNode; 019import org.nuxeo.common.xmap.annotation.XNodeMap; 020import org.nuxeo.common.xmap.annotation.XObject; 021 022/** 023 * Descriptor to contribute default versioning rule for all document types.* 024 * 025 * @author Laurent Doguin 026 * @since 5.4.2 027 */ 028@XObject("defaultVersioningRule") 029public class DefaultVersioningRuleDescriptor implements Serializable { 030 031 private static final long serialVersionUID = 1L; 032 033 @XNodeMap(value = "options", key = "@lifeCycleState", type = HashMap.class, componentType = SaveOptionsDescriptor.class) 034 public Map<String, SaveOptionsDescriptor> options = new HashMap<String, SaveOptionsDescriptor>(); 035 036 @XNode("initialState") 037 public InitialStateDescriptor initialState; 038 039 public Map<String, SaveOptionsDescriptor> getOptions() { 040 return options; 041 } 042 043 public InitialStateDescriptor getInitialState() { 044 return initialState; 045 } 046 047}