@Publish public class AutoPublishedService { public boolean process() { return true; } }
@Publish public class AutoPublishedServiceImpl implements AutoPublishedService { @Override public String whoAmI() { return getClass().getName(); } }
@Publish public class AutoPublishedServiceImpl implements AutoPublishedService { @Override public String whoAmI() { return getClass().getName(); } }
@Publish public class PropertyServiceImpl1 implements PropertyService { private String name; public PropertyServiceImpl1() { name = getClass().getName(); } @Override public String whoAmI() { return name; } }
@Publish public class AutoPublishedServiceImpl implements AutoPublishedService { @Override public String whoAmI() { return getClass().getName(); } }
@Publish(contracts = { ContractInterface.class }) public class ContractPublishedServiceImpl implements ContractInterface, NotContractInterface { }
@Publish(contracts = { Serializable.class }) public class UnblackListedServiceImpl implements Serializable{ }
@Publish public class PersonalizedHashCodeServiceImpl implements PersonalizedHashCodeService { @Override public int hashCode() { return 42; } }
@Publish @ApplicationScoped public class TimesOperator implements Operator { @Override public int value(int a, int b) { return a * b; } @Override public String label() { return "*"; } }
@Publish @ApplicationScoped public class PlusOperator implements Operator { @Override public int value(int a, int b) { return a + b; } @Override public String label() { return "+"; } }
@Publish @ApplicationScoped public class TriangleShapeProvider implements ShapeProvider { @Override public Shape getShape() { return new Triangle(); } @Override public String getId() { return Triangle.class.getName(); } }
@Publish @ApplicationScoped public class MinusOperator implements Operator { @Override public int value(int a, int b) { return a - b; } @Override public String label() { return "-"; } }
@Publish @ApplicationScoped public class SquareShapeProvider implements ShapeProvider { @Override public Shape getShape() { return new Square(); } @Override public String getId() { return Square.class.getName(); } public void listen(@Observes @Sent @Specification(String.class) InterBundleEvent message) { System.out.println("received : " + message.typed(String.class).get()); } }
@Publish @Name("2") public class PropertyServiceImpl3 implements PropertyService { @Override public String whoAmI() { return getClass().getName(); } }
@Publish @Name("2") public class RequiredServiceImpl implements RequiredService { @Override public String whoAmI() { return getClass().getName(); } }
@Publish @Name("extension") public class ServiceExtension implements PropertyService { private String name; public ServiceExtension() { name = getClass().getName(); } @Override public String whoAmI() { return name; } }
@Publish @Name("1") public class PropertyServiceImpl2 implements PropertyService { @Override public String whoAmI() { return getClass().getName(); } }
@Publish @Name("1") public class RequiredServiceImpl implements RequiredService{ @Override public String whoAmI() { return getClass().getName(); } }
@Publish @ApplicationScoped public class TestPublishedBean implements TestPublished { @Inject @OSGiService @Filter("(Name.value=2)") PropertyService service; @Inject @OSGiService @Name2 PropertyService service2; public PropertyService getService() { return service; } public PropertyService getService2() { return service2; } }
@Publish public class ServiceExtensionProvider { @Inject @Name("extension") private PropertyService serviceExtension; @Inject @OSGiService @Name("extension") private PropertyService serviceExtensionService; public PropertyService getServiceExtension() { return serviceExtension; } public PropertyService getServiceExtensionService() { return serviceExtensionService; } }