org.jboss.osgi.resolver.v2.spi
Class AbstractCapability

java.lang.Object
  extended by org.jboss.osgi.resolver.v2.spi.AbstractCapability
All Implemented Interfaces:
XAttachmentSupport, XAttributeSupport, XCapability, XDirectiveSupport, XElement, org.osgi.framework.resource.Capability
Direct Known Subclasses:
AbstractBundleCapability, AbstractHostCapability, AbstractIdentityCapability, AbstractPackageCapability

public class AbstractCapability
extends Object
implements XCapability

The abstract implementation of a XCapability.

Since:
02-Jul-2010
Author:
thomas.diesler@jboss.com

Constructor Summary
protected AbstractCapability(org.osgi.framework.resource.Resource resource, String namespace, Map<String,Object> atts, Map<String,String> dirs)
           
 
Method Summary
<T> T
addAttachment(Class<T> clazz, T value)
          Attach an arbirtary object with this element.
<T> T
getAttachment(Class<T> clazz)
          Get the attached object for a given key
 Object getAttribute(String key)
          Get the value of the given attribute
 Map<String,Object> getAttributes()
          Get the attributes
 String getDirective(String key)
          Get the value of the given directive
 Map<String,String> getDirectives()
          Get the directives
protected  Set<String> getMandatoryAttributes()
           
 String getNamespace()
           
 org.osgi.framework.resource.Resource getResource()
           
<T> T
removeAttachment(Class<T> clazz)
          Remove an attached object for a given key
 String toString()
           
protected  void validateAttributes(Map<String,Object> atts)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jboss.osgi.resolver.v2.XAttachmentSupport
addAttachment, getAttachment, removeAttachment
 

Constructor Detail

AbstractCapability

protected AbstractCapability(org.osgi.framework.resource.Resource resource,
                             String namespace,
                             Map<String,Object> atts,
                             Map<String,String> dirs)
Method Detail

validateAttributes

protected void validateAttributes(Map<String,Object> atts)

getMandatoryAttributes

protected Set<String> getMandatoryAttributes()

getResource

public org.osgi.framework.resource.Resource getResource()
Specified by:
getResource in interface org.osgi.framework.resource.Capability

getNamespace

public String getNamespace()
Specified by:
getNamespace in interface org.osgi.framework.resource.Capability

getDirectives

public Map<String,String> getDirectives()
Description copied from interface: XDirectiveSupport
Get the directives

Specified by:
getDirectives in interface XDirectiveSupport
Specified by:
getDirectives in interface org.osgi.framework.resource.Capability

getDirective

public String getDirective(String key)
Description copied from interface: XDirectiveSupport
Get the value of the given directive

Specified by:
getDirective in interface XDirectiveSupport
Returns:
null if no such directive is associated with this capability

getAttributes

public Map<String,Object> getAttributes()
Description copied from interface: XAttributeSupport
Get the attributes

Specified by:
getAttributes in interface XAttributeSupport
Specified by:
getAttributes in interface org.osgi.framework.resource.Capability

getAttribute

public Object getAttribute(String key)
Description copied from interface: XAttributeSupport
Get the value of the given attribute

Specified by:
getAttribute in interface XAttributeSupport
Returns:
null if no such attribute is associated with this capability

toString

public String toString()
Overrides:
toString in class Object

addAttachment

public <T> T addAttachment(Class<T> clazz,
                           T value)
Description copied from interface: XAttachmentSupport
Attach an arbirtary object with this element.

Specified by:
addAttachment in interface XAttachmentSupport
Parameters:
clazz - key for the attachment
Returns:
The previously attachment object or null

getAttachment

public <T> T getAttachment(Class<T> clazz)
Description copied from interface: XAttachmentSupport
Get the attached object for a given key

Specified by:
getAttachment in interface XAttachmentSupport
Parameters:
clazz - key for the attachment
Returns:
The attached object or null

removeAttachment

public <T> T removeAttachment(Class<T> clazz)
Description copied from interface: XAttachmentSupport
Remove an attached object for a given key

Specified by:
removeAttachment in interface XAttachmentSupport
Parameters:
clazz - key for the attachment
Returns:
The attached object or null


Copyright © 2012. All Rights Reserved.