aQute.bnd.maven
Class MavenRepository

java.lang.Object
  extended by aQute.bnd.maven.MavenRepository
All Implemented Interfaces:
BsnToMavenPath, Plugin, RepositoryPlugin

public class MavenRepository
extends Object
implements RepositoryPlugin, Plugin, BsnToMavenPath


Nested Class Summary
 
Nested classes/interfaces inherited from interface aQute.bnd.service.RepositoryPlugin
RepositoryPlugin.DownloadListener, RepositoryPlugin.PutOptions, RepositoryPlugin.PutResult
 
Field Summary
static String NAME
           
 
Fields inherited from interface aQute.bnd.service.RepositoryPlugin
DEFAULTOPTIONS
 
Constructor Summary
MavenRepository()
           
 
Method Summary
 boolean canWrite()
          Answer if this repository can be used to store files.
 File get(String bsn, String range, Strategy strategy, Map<String,String> properties)
           
 File get(String bsn, Version version, Map<String,String> properties, RepositoryPlugin.DownloadListener... listeners)
          Return a URL to a matching version of the given bundle.
 String[] getGroupAndArtifact(String bsn)
           
 String getLocation()
          Return a location identifier of this repository
 String getName()
           
 List<String> list(String regex)
          Return a list of bsns that are present in the repository.
 RepositoryPlugin.PutResult put(InputStream stream, RepositoryPlugin.PutOptions options)
          Put an artifact (from the InputStream) into the repository.

There is NO guarantee that the artifact on the input stream has not been modified after it's been put in the repository since that is dependent on the implementation of the repository (see RepositoryPlugin.PutOptions#allowArtifactChange).
 void setProperties(Map<String,String> map)
          Give the plugin the remaining properties.
 void setReporter(Reporter processor)
          Set the current reporter.
 void setRoot(File f)
           
 String toString()
           
 SortedSet<Version> versions(String bsn)
          Return a list of versions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAME

public static final String NAME
See Also:
Constant Field Values
Constructor Detail

MavenRepository

public MavenRepository()
Method Detail

toString

public String toString()
Overrides:
toString in class Object

canWrite

public boolean canWrite()
Description copied from interface: RepositoryPlugin
Answer if this repository can be used to store files.

Specified by:
canWrite in interface RepositoryPlugin
Returns:
true if writable

list

public List<String> list(String regex)
Description copied from interface: RepositoryPlugin
Return a list of bsns that are present in the repository.

Specified by:
list in interface RepositoryPlugin
Parameters:
regex - A glob pattern to be matched against bsns present in the repository, or null.
Returns:
A list of bsns that match the pattern parameter or all if pattern is null; repositories that do not support browsing or querying should return an empty list.

put

public RepositoryPlugin.PutResult put(InputStream stream,
                                      RepositoryPlugin.PutOptions options)
                               throws Exception
Description copied from interface: RepositoryPlugin
Put an artifact (from the InputStream) into the repository.

There is NO guarantee that the artifact on the input stream has not been modified after it's been put in the repository since that is dependent on the implementation of the repository (see RepositoryPlugin.PutOptions#allowArtifactChange).

Specified by:
put in interface RepositoryPlugin
Parameters:
stream - The input stream with the artifact
options - The put options. See RepositoryPlugin.PutOptions, can be null, which will then take the default options like new PutOptions().
Returns:
The result of the put, never null. See RepositoryPlugin.PutResult
Throws:
Exception - When the repository root directory doesn't exist, when the repository is read-only, when the specified checksum doesn't match the checksum of the fetched artifact (see RepositoryPlugin.PutOptions.digest), when the implementation wants to modify the artifact but isn't allowed (see RepositoryPlugin.PutOptions#allowArtifactChange ), or when another error has occurred.

versions

public SortedSet<Version> versions(String bsn)
                            throws Exception
Description copied from interface: RepositoryPlugin
Return a list of versions.

Specified by:
versions in interface RepositoryPlugin
Throws:
Exception

setProperties

public void setProperties(Map<String,String> map)
Description copied from interface: Plugin
Give the plugin the remaining properties. When a plugin is declared, the clause can contain extra properties. All the properties and directives are given to the plugin to use.

Specified by:
setProperties in interface Plugin
Parameters:
map - attributes and directives for this plugin's clause

setReporter

public void setReporter(Reporter processor)
Description copied from interface: Plugin
Set the current reporter. This is called at init time. This plugin should report all errors and warnings to this reporter.

Specified by:
setReporter in interface Plugin

getGroupAndArtifact

public String[] getGroupAndArtifact(String bsn)
Specified by:
getGroupAndArtifact in interface BsnToMavenPath

getName

public String getName()
Specified by:
getName in interface RepositoryPlugin
Returns:
The name of the repository

get

public File get(String bsn,
                String range,
                Strategy strategy,
                Map<String,String> properties)
         throws Exception
Throws:
Exception

setRoot

public void setRoot(File f)

getLocation

public String getLocation()
Description copied from interface: RepositoryPlugin
Return a location identifier of this repository

Specified by:
getLocation in interface RepositoryPlugin

get

public File get(String bsn,
                Version version,
                Map<String,String> properties,
                RepositoryPlugin.DownloadListener... listeners)
         throws Exception
Description copied from interface: RepositoryPlugin
Return a URL to a matching version of the given bundle.

If download listeners are specified then the returned file is not guaranteed to exist before a download listener is notified of success or failure. The callback can happen before the method has returned. If the returned file is null then download listeners are not called back.

The intention of the Download Listeners is to allow a caller to obtain references to files that do not yet exist but are to be downloaded. If the downloads were done synchronously in the call, then no overlap of downloads could take place.

Specified by:
get in interface RepositoryPlugin
Parameters:
bsn - Bundle-SymbolicName of the searched bundle
version - Version requested
listeners - Zero or more download listener that will be notified of the outcome.
Returns:
A file to the revision or null if not found
Throws:
Exception - when anything goes wrong, in this case no listeners will be called back.


Copyright © 2014 aQute SARL. All rights reserved.