@Override public Capability addContentCapability(InputStream content, Map<String, Object> atts, Map<String, String> dirs) { IllegalArgumentAssertion.assertNotNull(content, "content"); Map<String, Object> exatts = new LinkedHashMap<String, Object>(); if (atts != null) { exatts.putAll(atts); } exatts.put(ContentNamespace.CAPABILITY_STREAM_ATTRIBUTE, content); return addCapability(ContentNamespace.CONTENT_NAMESPACE, exatts, dirs); }
@Override public Capability addContentCapability(InputStream content) { IllegalArgumentAssertion.assertNotNull(content, "content"); Map<String, Object> atts = Collections.singletonMap(ContentNamespace.CAPABILITY_STREAM_ATTRIBUTE, (Object)content); return addCapability(ContentNamespace.CONTENT_NAMESPACE, atts, null); }
@Override public Capability addContentCapability(URL contentURL) { IllegalArgumentAssertion.assertNotNull(contentURL, "contentURL"); Map<String, Object> atts = Collections.singletonMap(ContentNamespace.CAPABILITY_URL_ATTRIBUTE, (Object)contentURL); return addCapability(ContentNamespace.CONTENT_NAMESPACE, atts, null); }
@Override public Capability addContentCapability(URL contentURL, Map<String, Object> atts, Map<String, String> dirs) { IllegalArgumentAssertion.assertNotNull(contentURL, "contentURL"); Map<String, Object> exatts = new LinkedHashMap<String, Object>(); if (atts != null) { exatts.putAll(atts); } exatts.put(ContentNamespace.CAPABILITY_URL_ATTRIBUTE, contentURL); return addCapability(ContentNamespace.CONTENT_NAMESPACE, exatts, dirs); }
@Override public Capability addCapability(String namespace, String nsvalue) { IllegalArgumentAssertion.assertNotNull(namespace, "namespace"); IllegalArgumentAssertion.assertNotNull(nsvalue, "nsvalue"); return addCapability(namespace, Collections.singletonMap(namespace, (Object)nsvalue), null); }
@Override public Capability addIdentityCapability(String symbolicName, Version version, Map<String, Object> atts, Map<String, String> dirs) { IllegalArgumentAssertion.assertNotNull(symbolicName, "symbolicName"); Capability icap = addCapability(IdentityNamespace.IDENTITY_NAMESPACE, symbolicName); if (version != null) { icap.getAttributes().put(IdentityNamespace.CAPABILITY_VERSION_ATTRIBUTE, version); } if (atts != null) { icap.getAttributes().putAll(atts); } if (dirs != null) { icap.getDirectives().putAll(dirs); } return icap; }
@Override public ResourceBuilder fromResource(Resource res) { for (Capability cap : res.getCapabilities(null)) { addCapability(cap.getNamespace(), cap.getAttributes(), cap.getDirectives()); } for (Requirement req : res.getRequirements(null)) { addRequirement(req.getNamespace(), req.getAttributes(), req.getDirectives()); } return this; }