How about ScrService.getComponentsForBundle(bundle) and Component.getBundle() ?

On 10/2/07, Felix Meschberger <[EMAIL PROTECTED]> wrote:
> Am Dienstag, den 02.10.2007, 10:38 -0400 schrieb Richard S. Hall:
> > It seems reasonable to me. Is there any relationship here to the
> > Dependency Manager API? Or should there be?
>
> Not yet, but Marcel said that we might want to try develop a common
> Management API.
>
> Marcel, what do you think ?
>
> Regards
> Felix
>
> >
> > -> richard
> >
> > Felix Meschberger wrote:
> > > Hi all,
> > >
> > > In issue FELIX-284, I stipulate the definition of a management API for
> > > the Felix Declarative Services Implementationn (SCR). Disregarding
> > > anything else in the first step, I come up with a very simple API. The
> > > goal is to be easily usable as a Management API and not to directly
> > > reflect the service declaration. For this reason, the <rerference
> > > cardinality> configuration is split in two methods isOptional and
> > > isMultiple and the <service> and <provide> elements are folded into the
> > > isServiceFactory getServices method.
> > >
> > > In addtion the Component interface has two methods to enable and disable
> > > a component and the Refernce interface provides access to an array of
> > > ServiceReference objects denoting the services currently bound to the
> > > component.
> > >
> > > This API may be used by some shell or JMX integration.
> > >
> > > What do you think ?
> > >
> > > Regards
> > > Felix
> > >
> > >
> > > API follows:
> > >
> > > // registered as a service accessible to management agents
> > > public interface ScrService {
> > >   // return all known components in ascending order of theire
> > > component.id
> > >   Component[] getComponents();
> > >   // return the component with the given ID or null if none
> > >   Component getComponent(long componentId);
> > > }
> > >
> > > public interface Component {
> > >   // the name of the component (<component name>)
> > >   String getName();
> > >   // the component ID (assigned by SCR)
> > >   long getId();
> > >   // the component factory name or null (<component factory>)
> > >   String getFactory();
> > >   // the component class name (<implementation class>)
> > >   String getClassName();
> > >   // the current state of the component (to be defined as constants)
> > >   int getState();
> > >   // true if the component is a service factory (<service
> > > serviceFactory>)
> > >   boolen isServiceFactory();
> > >   // the list of service names or null if not a service (<provide
> > > interface>)
> > >   String[] getServices();
> > >   // the component properties (same as ComponentContext.getProperties())
> > >   Dictionary getProperties();
> > >   // the service references of the Component
> > >   Reference[] getReferences();
> > >   // enables the component if disabled
> > >   void enable();
> > >   // disables the component if enabled
> > >   void disable();
> > >   // whether the component is defined to be initially enabled
> > > (<component enabled>)
> > >   boolean isDefaultEnabled();
> > >   // whether the component is defined to be created immediately
> > > (<component immediate>)
> > >   boolean isImmediate();
> > > }
> > >
> > > public interface Reference {
> > >   // the local name of the reference (<reference name>)
> > >   String getName();
> > >   // the name of the service referred to (<reference interface>)
> > >   String getServiceName();
> > >   // services bound to the component per this Reference
> > >   ServiceReference[] getServiceReferences();
> > >   // whether this reference is satisfied
> > >   boolean isSatisfied();
> > >   // whether the service is optional (<reference cardinality>)
> > >   boolean isOptional();
> > >   // whether the service is multiple (<reference cardinality>)
> > >   boolean isMultiple();
> > >   // whether the service is bound statically or dynamically (<reference
> > > policy>)
> > >   boolean isStatic();
> > >   // the target selection filter or null if none
> > >   // (getName()+".target" property of component based on <reference
> > > target>)
> > >   String getTarget();
> > >   // the name of the bind method or null (<reference bind>)
> > >   String getBindMethodName();
> > >   // the name of the unbind method or null (<reference unbind>)
> > >   String getUnbindMethodName();
> > > }
> > >
> > >
>
>

Reply via email to