/* * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nuxeo - initial API and implementation * $Id: LifeCycleStateImpl.java 19002 2007-05-20 15:37:19Z sfermigier $ */ package org.eclipse.ecr.core.lifecycle.impl; import java.util.Collection; import java.util.Collections; import org.eclipse.ecr.core.lifecycle.LifeCycleState; /** * Life cycle state implementation. * * @see org.eclipse.ecr.core.lifecycle.LifeCycleState * * @author <a href="mailto:ja@nuxeo.com">Julien Anguenot</a> */ public class LifeCycleStateImpl implements LifeCycleState { /** Name of the life cycle state. */ private final String name; /** State description. */ private final String description; /** Collection of allowed state transitions. */ private final Collection<String> allowedStateTransitions; private final boolean initial; public LifeCycleStateImpl(String name, String description, Collection<String> allowedStateTransitions, boolean initial) { this.name = name; this.description = description; this.allowedStateTransitions = Collections.unmodifiableCollection(allowedStateTransitions); this.initial = initial; } @Override public Collection<String> getAllowedStateTransitions() { return allowedStateTransitions; } @Override public String getDescription() { return description; } @Override public String getName() { return name; } @Override public boolean isInitial() { return initial; } }