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 *     Nuxeo - initial API and implementation
011 *
012 * $Id$
013 */
014
015package org.nuxeo.runtime.model.impl;
016
017import java.io.Serializable;
018
019import org.nuxeo.common.xmap.annotation.XNode;
020import org.nuxeo.common.xmap.annotation.XNodeList;
021import org.nuxeo.common.xmap.annotation.XObject;
022
023/**
024 * @author <a href="mailto:bs@nuxeo.com">Bogdan Stefanescu</a>
025 */
026@XObject
027public class ServiceDescriptor implements Serializable {
028
029    private static final long serialVersionUID = 2732085252068872368L;
030
031    // TODO: it should be an error in XMap -> normally you should specify node
032    // paths relative to the current object element,
033    // so you should have serviceFactory instead of service@serviceFactory - but
034    // seems it not works
035    @XNode("service@serviceFactory")
036    boolean isFactory;
037
038    // service class names
039    @XNodeList(value = "service/provide@interface", type = String[].class, componentType = String.class)
040    String[] services;
041
042}