/** * Returns the string representation of this version range. * * <p> * The format of the version range string will be a version string if the * right end point is <i>Infinity</i> ({@code null}) or an interval string. * * @return The string representation of this version range. */ @Override public String toString() { if (versionRangeString != null) { return versionRangeString; } String leftVersion = left.toString(); if (right == null) { StringBuffer result = new StringBuffer(leftVersion.length() + 1); result.append(left.toString0()); return versionRangeString = result.toString(); } String rightVerion = right.toString(); StringBuffer result = new StringBuffer(leftVersion.length() + rightVerion.length() + 5); result.append(leftClosed ? LEFT_CLOSED : LEFT_OPEN); result.append(left.toString0()); result.append(ENDPOINT_DELIMITER); result.append(right.toString0()); result.append(rightClosed ? RIGHT_CLOSED : RIGHT_OPEN); return versionRangeString = result.toString(); }
public IdentityRequirementBuilder(ResourceIdentity identity) { this(identity.getSymbolicName(), identity.getVersion().toString()); }
@Override public Version getVersion() { String version = module.getIdentity().getVersion().toString(); return Version.parseVersion(version); }
public EmbeddedRuntime(PropertiesProvider propertiesProvider, Attachable context) { super(propertiesProvider); serviceManager = new RuntimeServicesManager(adapt(RuntimeEventsManager.class)); storageHandler = new RuntimeStorageHandler(propertiesProvider, true); // Install system module ResourceIdentity sysid = getSystemIdentity(); Resource resource = new DefaultResourceBuilder().addIdentityCapability(sysid).getResource(); try { Dictionary<String, String> headers = new Hashtable<>(); headers.put("Bundle-SymbolicName", sysid.getSymbolicName()); headers.put("Bundle-Version", sysid.getVersion().toString()); installModule(EmbeddedRuntime.class.getClassLoader(), resource, headers, context); } catch (ModuleException ex) { throw new IllegalStateException("Cannot install system module", ex); } }