blob: fc5ac53c04f80d3866c6e5675f720ca81e8aa98c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
<HEAD>
<TITLE>Apache Felix - Describing components</TITLE>
<LINK rel="stylesheet" href="http://felix.apache.org/site/media.data/site.css" type="text/css" media="all">
<META http-equiv="Content-Type" content="text/html;charset=UTF-8">
</HEAD>
<BODY>
<DIV class="title"><DIV class="logo"><A href="http://felix.apache.org/site/index.html"><IMG border="0" alt="Apache Felix" src="http://felix.apache.org/site/media.data/logo.png"></A></DIV><DIV class="header"><A href="http://www.apache.org/"><IMG border="0" alt="Apache" src="http://felix.apache.org/site/media.data/apache.png"></A></DIV></DIV>
<DIV class="menu">
<UL>
<LI><A href="http://felix.apache.org/site/news.html" title="news">news</A></LI>
<LI><A href="http://felix.apache.org/site/license.html" title="license">license</A></LI>
<LI><SPAN class="nobr"><A href="http://felix.apache.org/site/downloads.cgi" title="Visit page outside Confluence" rel="nofollow">downloads<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
<LI><A href="http://felix.apache.org/site/documentation.html" title="documentation">documentation</A></LI>
<LI><A href="http://felix.apache.org/site/mailinglists.html" title="mailinglists">mailing lists</A></LI>
<LI><A href="http://felix.apache.org/site/contributing.html" title="Contributing">contributing</A></LI>
<LI><SPAN class="nobr"><A href="http://www.apache.org/" title="Visit page outside Confluence" rel="nofollow">asf<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
<LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/sponsorship.html" title="Visit page outside Confluence" rel="nofollow">sponsorship<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
<LI><SPAN class="nobr"><A href="http://www.apache.org/foundation/thanks.html" title="Visit page outside Confluence" rel="nofollow">sponsors<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>
<!-- ApacheCon Ad -->
<IFRAME src="http://www.apache.org/ads/button.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="135"></IFRAME>
<P style="height: 100px">
<!-- ApacheCon Ad --></LI>
</UL>
</DIV>
<DIV class="main">
<TABLE class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><TBODY><TR>
<TD class="confluenceTd" valign="top" width="80%">
<H1><A name="Describingcomponents-DescribingyouriPOJOcomponents"></A>Describing your iPOJO components</H1>
<P>This section describes the different features supported by iPOJO. In fact, this page aims to answer to the following question: <EM>&quot;What can I write in my iPOJO component descriptor (i.e. the metadata.xml file)?&quot;</EM></P>
<H2><A name="Describingcomponents-Corefeatures"></A>Core features</H2>
<P>Core features are provided with the iPOJO runtime bundles. You can use it directly, as soon as the iPOJO runtime is deployed.</P>
<UL>
<LI><A href="http://felix.apache.org/site/service-requirement-handler.html" title="Service Requirement Handler">Service Dependencies</A></LI>
<LI><A href="http://felix.apache.org/site/providing-osgi-services.html" title="Providing OSGi services">Service Providing</A></LI>
<LI><A href="http://felix.apache.org/site/lifecycle-callback-handler.html" title="Lifecycle Callback Handler">Lifecycle Callbacks</A></LI>
<LI><A href="http://felix.apache.org/site/configuration-handler.html" title="Configuration Handler">Configuration</A></LI>
<LI><A href="http://felix.apache.org/site/architecture-handler.html" title="Architecture Handler">Architecture</A></LI>
<LI><A href="http://felix.apache.org/site/controller-lifecycle-handler.html" title="Controller Lifecycle Handler">Lifecycle Controller</A></LI>
</UL>
<H2><A name="Describingcomponents-Extensions"></A>Extensions</H2>
<P>Extensions <EM>extend</EM> the iPOJO model to add some specific functionalities. This is made thanks to the external handler mechanism. So before using one of these features, deploy the attached external handler.</P>
<UL>
<LI><A href="http://felix.apache.org/site/ipojo-event-handler.html" title="iPOJO Event Handler">iPOJO Event Handler</A>: allows receiving and sending events through the event admin.</LI>
<LI><A href="http://felix.apache.org/site/jmx-handler.html" title="JMX Handler">JMX Handler</A>: allows managing your instances with JMX</LI>
<LI><A href="http://felix.apache.org/site/extender-pattern-handler.html" title="Extender Pattern Handler">Extender Pattern Handler</A>: simplify the implementation of extender pattern</LI>
<LI><A href="http://felix.apache.org/site/white-board-pattern-handler.html" title="White Board Pattern Handler">White Board Pattern Handler</A>: simplify the implementation of a white board patternh1. Describing your components</LI>
</UL>
<H2><A name="Describingcomponents-Amissingfunctionality%3F"></A>A missing functionality ?</H2>
<P>iPOJO component model is extensible. So, you can implement your own handler managing you specific requirement. Refer the handler development guide (<SPAN class="nobr"><A href="http://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=FELIX&amp;title=here&amp;linkCreation=true&amp;fromPageId=82813" title="Create Page: here" class="createlink">here<SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/plus.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN>) for more details.</P></TD>
<TD class="confluenceTd" valign="top" width="20%">
<H6><A name="Describingcomponents-Overview"></A><B>Overview</B></H6>
<UL>
<LI><A href="http://felix.apache.org/site/apache-felix-ipojo.html" title="Apache Felix iPOJO">Home Page</A></LI>
<LI><A href="http://felix.apache.org/site/apache-felix-ipojo-feature-overview.html" title="Apache Felix iPOJO Feature Overview">iPOJO Feature Overview</A></LI>
<LI><A href="http://felix.apache.org/site/download.html" title="Download">Download &amp; Install </A></LI>
</UL>
<H6><A name="Describingcomponents-GettingStarted"></A><B>Getting Started</B></H6>
<UL>
<LI><A href="http://felix.apache.org/site/ipojo-in-10-minutes.html" title="iPOJO in 10 minutes">iPOJO in 10 minutes</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-hello-word-maven-based-tutorial.html" title="iPOJO Hello Word (Maven-Based) tutorial">iPOJO Hello Word &#40;Maven&#45;Based&#41; tutorial</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-advanced-tutorial.html" title="iPOJO Advanced Tutorial">iPOJO Advanced Tutorial</A></LI>
</UL>
<H6><A name="Describingcomponents-UserGuide"></A><B>User Guide</B></H6>
<UL>
<LI><A href="#" title="Describing components">Describing components</A></LI>
<LI><A href="http://felix.apache.org/site/how-to-use-ipojo-annotations.html" title="How to use iPOJO Annotations">How to use iPOJO Annotations</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-advanced-topics.html" title="iPOJO Advanced Topics">Advanced Topics</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-faq.html" title="iPOJO FAQ">FAQ</A></LI>
</UL>
<H6><A name="Describingcomponents-Tools"></A><B>Tools</B></H6>
<UL>
<LI><A href="http://felix.apache.org/site/ipojo-eclipse-plug-in.html" title="iPOJO Eclipse Plug-in">iPOJO Eclipse Plug&#45;in</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-ant-task.html" title="iPOJO Ant Task">iPOJO Ant Task</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-maven-plug-in.html" title="iPOJO Maven Plug-in">iPOJO Maven Plug&#45;in</A></LI>
<LI><A href="http://felix.apache.org/site/ipojo-concepts-overview.html" title="iPOJO Concepts Overview">iPOJO concepts overview</A></LI>
</UL>
<H6><A name="Describingcomponents-DeveloperGuide"></A><B>Developer Guide</B></H6>
<UL>
<LI><A href="http://felix.apache.org/site/how-to-write-your-own-handler.html" title="How to write your own handler">How to write your own handler</A></LI>
<LI><A href="http://felix.apache.org/site/how-to-use-ipojo-manipulation-metadata.html" title="How to use iPOJO Manipulation Metadata">How to use iPOJO Manipulation Metadata</A></LI>
</UL>
<H6><A name="Describingcomponents-Misc%26Contact"></A><B>Misc &amp; Contact</B></H6>
<UL>
<LI><A href="http://felix.apache.org/site/apache-felix-ipojo-issuestracker.html" title="apache-felix-ipojo-issuestracker">Issues Tracker</A></LI>
<LI><A href="http://felix.apache.org/site/apache-felix-ipojo-supportedvms.html" title="apache-felix-ipojo-supportedVMs">Supported JVMs</A></LI>
<LI><A href="http://felix.apache.org/site/apache-felix-ipojo-supportedosgi.html" title="apache-felix-ipojo-supportedOSGi">Supported OSGi Implementations</A></LI>
<LI><A href="http://felix.apache.org/site/future-ideas.html" title="Future Ideas">Future Ideas</A></LI>
<LI><A href="http://felix.apache.org/site/contact.html" title="Contact">Contact</A></LI>
<LI><A href="http://felix.apache.org/site/related-works.html" title="Related Works">Related Works</A></LI>
<LI><A href="http://felix.apache.org/site/article-presentations.html" title="Article & Presentations">Article &amp; Presentations</A></LI>
</UL>
<HR>
<DIV class="" align="center">
<P><SPAN class="nobr"><A href="http://cwiki.apache.org/confluence/createrssfeed.action?types=blogpost&amp;statuses=created&amp;statuses=modified&amp;spaces=FELIX&amp;labelString=iPOJO&amp;rssType=atom&amp;maxResults=10&amp;timeSpan=5&amp;publicFeed=true&amp;title=iPOJO%20Atom%20Feed" title="Stay tuned!" rel="nofollow"><IMG src="http://cwiki.apache.org/confluence/images/icons/feed-icon-32x32.png" align="absmiddle" border="0"><SUP><IMG class="rendericon" src="http://cwiki.apache.org/confluence/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P></DIV></TD></TR></TBODY></TABLE>
</DIV>
</BODY>
</HTML>