org.xwiki.extension
Class AbstractExtensionDependency

java.lang.Object
  extended by org.xwiki.extension.AbstractExtensionDependency
All Implemented Interfaces:
ExtensionDependency
Direct Known Subclasses:
DefaultExtensionDependency

public abstract class AbstractExtensionDependency
extends Object
implements ExtensionDependency

Base class for ExtensionDependency implementations.

Since:
4.0M1
Version:
$Id: 726c73280a5d69c3fc02940e5b4a3ae3c3fdf7ab $

Field Summary
protected  String id
           
protected  Map<String,Object> properties
           
protected  VersionConstraint versionConstraint
           
 
Constructor Summary
AbstractExtensionDependency(ExtensionDependency dependency, VersionConstraint versionConstraint)
          Create new instance by cloning the provided one with different version constraint.
AbstractExtensionDependency(String id, VersionConstraint versionConstraint)
           
AbstractExtensionDependency(String id, VersionConstraint versionConstraint, Map<String,Object> properties)
           
 
Method Summary
 boolean equals(Object obj)
           
 String getId()
           
 Map<String,Object> getProperties()
          Extends ExtensionDependency standard properties.
 Object getProperty(String key)
           
<T> T
getProperty(String key, T def)
          Get a property.
 VersionConstraint getVersionConstraint()
           
 int hashCode()
           
protected  void putProperty(String key, Object value)
          Set a property.
 void setId(String id)
           
 void setProperties(Map<String,Object> properties)
          Replace existing properties with provided properties.
 void setVersionConstraint(VersionConstraint versionConstraint)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

id

protected String id
See Also:
getId()

versionConstraint

protected VersionConstraint versionConstraint
See Also:
getVersionConstraint()

properties

protected Map<String,Object> properties
See Also:
getProperties()
Constructor Detail

AbstractExtensionDependency

public AbstractExtensionDependency(ExtensionDependency dependency,
                                   VersionConstraint versionConstraint)
Create new instance by cloning the provided one with different version constraint.

Parameters:
dependency - the extension dependency to copy
versionConstraint - the version constraint to set

AbstractExtensionDependency

public AbstractExtensionDependency(String id,
                                   VersionConstraint versionConstraint)
Parameters:
id - the id (or feature) of the extension dependency
versionConstraint - the version constraint of the extension dependency

AbstractExtensionDependency

public AbstractExtensionDependency(String id,
                                   VersionConstraint versionConstraint,
                                   Map<String,Object> properties)
Parameters:
id - the id (or feature) of the extension dependency
versionConstraint - the version constraint of the extension dependency
properties - the custom properties of the extension dependency
Method Detail

getId

public String getId()
Specified by:
getId in interface ExtensionDependency
Returns:
the id (or feature) of the target extension

setId

public void setId(String id)
Parameters:
id - the extension id
See Also:
getId()

getVersionConstraint

public VersionConstraint getVersionConstraint()
Specified by:
getVersionConstraint in interface ExtensionDependency
Returns:
the version constraint of the target extension

setVersionConstraint

public void setVersionConstraint(VersionConstraint versionConstraint)
Parameters:
versionConstraint - the version constraint of the target extension

getProperties

public Map<String,Object> getProperties()
Description copied from interface: ExtensionDependency
Extends ExtensionDependency standard properties.

Theses are generally provided by specific repositories. For example a AETHER repository will provide AETHER Dependency representation to avoid conversion when searching for the dependency on a AETHER based repository.

Specified by:
getProperties in interface ExtensionDependency
Returns:
the properties

getProperty

public Object getProperty(String key)
Specified by:
getProperty in interface ExtensionDependency
Parameters:
key - the property key
Returns:
the property value

putProperty

protected void putProperty(String key,
                           Object value)
Set a property.

Parameters:
key - the property key
value - the property value
See Also:
getProperty(String)

setProperties

public void setProperties(Map<String,Object> properties)
Replace existing properties with provided properties.

Parameters:
properties - the properties

getProperty

public <T> T getProperty(String key,
                         T def)
Description copied from interface: ExtensionDependency
Get a property.

Specified by:
getProperty in interface ExtensionDependency
Type Parameters:
T - type of the property value
Parameters:
key - the property key
def - the value to return if no property is associated to the provided key
Returns:
the property value or default of the property is not found
See Also:
ExtensionDependency.getProperty(String)

toString

public String toString()
Overrides:
toString in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object


Copyright © 2004-2013 XWiki. All Rights Reserved.