/** * This resource models an simple resource that produces unstructured data entities as results. */ @RestLiSimpleResource(name = "greetingSimpleUnstructuredData", namespace = "com.linkedin.restli.examples.greetings.client") public class GreetingUnstructuredDataSimpleResource extends UnstructuredDataSimpleResourceTemplate { @Override public void get(@UnstructuredDataWriterParam UnstructuredDataWriter writer) { respondGoodUnstructuredData(writer); } }
/** * @param simpleResourceAnno {@link com.linkedin.restli.server.annotations.RestLiSimpleResource} annotation */ public RestLiAnnotationData(RestLiSimpleResource simpleResourceAnno) { _parent = simpleResourceAnno.parent(); _name = simpleResourceAnno.name(); _namespace = simpleResourceAnno.namespace(); _keys = null; _keyName = null; _typerefInfoClass = null; }
private static Class<?> getParentResourceClass(Class<?> resourceClass) { for (Annotation a : resourceClass.getAnnotations()) { if (a instanceof RestLiAssociation) { return ((RestLiAssociation)a).parent(); } else if (a instanceof RestLiCollection) { return ((RestLiCollection)a).parent(); } else if (a instanceof RestLiSimpleResource) { return ((RestLiSimpleResource)a).parent(); } } return RestAnnotations.ROOT.class; }
/** * This resource models an simple resource that produces unstructured data entities as results. */ @RestLiSimpleResource(name = "greetingSimpleUnstructuredDataAsync", namespace = "com.linkedin.restli.examples.greetings.client") public class GreetingUnstructuredDataSimpleResourceAsync extends UnstructuredDataSimpleResourceAsyncTemplate { private static final ScheduledExecutorService _scheduler = Executors.newScheduledThreadPool(1); private static final int DELAY = 100; @Override public void get(@UnstructuredDataWriterParam UnstructuredDataWriter writer, @CallbackParam Callback<Void> callback) { _scheduler.schedule(() -> { try { GreetingUnstructuredDataUtils.respondGoodUnstructuredData(writer); callback.onSuccess(null); } catch (final Throwable throwable) { callback.onError(throwable); } }, DELAY, TimeUnit.MILLISECONDS); } }
@RestLiSimpleResource(name = "reactiveGreetingSimpleUnstructuredData", namespace = "com.linkedin.restli.examples.greetings.client") public class GreetingUnstructuredDataSimpleResourceReactive extends UnstructuredDataSimpleResourceReactiveTemplate
@RestLiSimpleResource(name="greeting", namespace="com.linkedin.restli.examples.greetings.client") public class RootSimpleResource extends SimpleResourceTemplate<Greeting>
@RestLiSimpleResource(name="subsubgreeting", namespace="com.linkedin.restli.examples.greetings.client", parent = CollectionUnderSimpleResource.class) public class SimpleResourceUnderCollectionResource extends SimpleResourceTemplate<Greeting>