Package aQute.bnd.osgi
Class Contracts
- java.lang.Object
-
- aQute.bnd.osgi.Contracts
-
class Contracts extends java.lang.Object
OSGi Contracts are first defined in OSGi Enterprise Release 5.0.0. A Contract is a namespace to control the versioning of a set of packages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
Contracts.Contract
-
Field Summary
Fields Modifier and Type Field Description private Analyzer
analyzer
private MultiMap<Descriptors.PackageRef,Contracts.Contract>
contracted
private java.util.Set<Contracts.Contract>
contracts
private Instructions
instructions
private static org.slf4j.Logger
logger
private MultiMap<java.util.Collection<Contracts.Contract>,Descriptors.PackageRef>
overlappingContracts
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addToRequirements(Parameters requirements)
Called before we print the manifest.void
clear()
(package private) void
collectContracts(java.lang.String from, Parameters pcs)
Collect contracts will take a domain and find any declared contracts.(package private) Instructions
getFilter()
(package private) boolean
isContracted(Descriptors.PackageRef packageRef)
Find out if a package is contracted.
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
analyzer
private Analyzer analyzer
-
contracted
private final MultiMap<Descriptors.PackageRef,Contracts.Contract> contracted
-
overlappingContracts
private MultiMap<java.util.Collection<Contracts.Contract>,Descriptors.PackageRef> overlappingContracts
-
instructions
private Instructions instructions
-
contracts
private final java.util.Set<Contracts.Contract> contracts
-
-
Constructor Detail
-
Contracts
public Contracts(Analyzer analyzer)
-
-
Method Detail
-
getFilter
Instructions getFilter()
-
clear
public void clear()
-
collectContracts
void collectContracts(java.lang.String from, Parameters pcs)
Collect contracts will take a domain and find any declared contracts. This happens early so that we have a list of contracts we can later compare the imports against.
-
isContracted
boolean isContracted(Descriptors.PackageRef packageRef)
Find out if a package is contracted. If there are multiple contracts for a package we remember this so we can generate a single error.- Parameters:
packageRef
-
-
addToRequirements
void addToRequirements(Parameters requirements)
Called before we print the manifest. Should add any contracts that were actually used to the requirements.- Parameters:
requirements
-
-
-