public static Collection<Annotation> createSieAnnotations(ServiceInterfaceEntry sie){ String exportedClassName = sie.getExportedOsgiClassName(); Preconditions.checkNotNull(sie.getQName(), "Cannot create annotation from null qname"); Preconditions.checkNotNull(exportedClassName, "Cannot create annotation from null exportedClassName"); List<Annotation> result = new ArrayList<>(); { List<Parameter> params = Lists.newArrayList(new Parameter("value", q(sie.getQName().toString()))); params.add(new Parameter("osgiRegistrationType", exportedClassName + ".class")); params.add(new Parameter("registerToOsgi", Boolean.toString(sie.isRegisterToOsgi()))); params.add(new Parameter("namespace", q(sie.getQName().getNamespace().toString()))); params.add(new Parameter("revision", q(sie.getQName().getFormattedRevision()))); params.add(new Parameter("localName", q(sie.getQName().getLocalName()))); Annotation sieAnnotation = new Annotation(ServiceInterfaceAnnotation.class.getCanonicalName(), params); result.add(sieAnnotation); } { List<Parameter> params = new ArrayList<>(); params.add(new Parameter("namespace", q(sie.getYangModuleQName().getNamespace().toString()))); params.add(new Parameter("revision", q(sie.getYangModuleQName().getFormattedRevision()))); params.add(new Parameter("name", q(sie.getYangModuleQName().getLocalName()))); Annotation moduleQNameAnnotation = new Annotation(ModuleQName.class.getCanonicalName(), params); result.add(moduleQNameAnnotation); } return result; }