001/* 002 * (C) Copyright 2006-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 * Bogdan Stefanescu 016 * Thierry Delprat 017 */ 018package org.nuxeo.apidoc.api; 019 020import java.io.IOException; 021import java.net.URL; 022import java.util.Collection; 023import java.util.List; 024 025public interface ComponentInfo extends NuxeoArtifact { 026 027 String TYPE_NAME = "NXComponent"; 028 029 String PROP_COMPONENT_ID = "nxcomponent:componentId"; 030 031 String PROP_COMPONENT_NAME = "nxcomponent:componentName"; 032 033 String PROP_COMPONENT_CLASS = "nxcomponent:componentClass"; 034 035 String PROP_BUILT_IN_DOC = "nxcomponent:builtInDocumentation"; 036 037 String PROP_IS_XML = "nxcomponent:isXML"; 038 039 String PROP_SERVICES = "nxcomponent:services"; 040 041 String getName(); 042 043 BundleInfo getBundle(); 044 045 Collection<ExtensionPointInfo> getExtensionPoints(); 046 047 Collection<ExtensionInfo> getExtensions(); 048 049 ExtensionPointInfo getExtensionPoint(String name); 050 051 String getDocumentation(); 052 053 String getDocumentationHtml(); 054 055 List<String> getServiceNames(); 056 057 List<ServiceInfo> getServices(); 058 059 String getComponentClass(); 060 061 boolean isXmlPureComponent(); 062 063 URL getXmlFileUrl(); 064 065 String getXmlFileName(); 066 067 String getXmlFileContent() throws IOException; 068 069}