This method is invoked for each resource that the analyzer is requested
to analyze. Implementations add zero or more capabilities and/or
requirements to the supplied lists.
Analyzers may examine the lists of already-discovered requirements
and capabilities; for example they may wish to add a certain capability
if (and only if) it has not already been added.
However, analyzers should not rely on being invoked in any
particular order, i.e. either before or after any other analyzer.
Analyzers MUST NOT attempt to remove or replace any capability or
requirement from the supplied list. Clients of this method may enforce
this by passing List implementations that throw
UnsupportedOperationException upon any attempt to call
List#remove(int), etc.
- Specified by:
analyzeResource in interface ResourceAnalyzer
- Throws:
Exception - If something goes wrong. The error will be logged to the OSGi
Log Service (if available) and the next ResourceAnalyzer (if
any) will be asked to analyze the resource.