/** * @author nshankar */ @RestLiAssociation(name = "typerefPrimitiveLongAssociationKeyResource", namespace = "com.linkedin.restli.examples.greetings.client", assocKeys = {@Key(name = "src", type = Long.class, typeref = LongRef.class), @Key(name = "dest", type = Long.class, typeref = LongRef.class)}) public class TyperefPrimitiveLongAssociationKeyResource extends AssociationResourceTemplate<Message> { @Override public Message get(final CompoundKey key) { return new Message().setId(key.getPartAsLong("src") + "->" + key.getPartAsLong("dest")) .setMessage("I need some $20") .setTone(Tone.SINCERE); } }
private static Set<Key> buildKeys(String resourceName, com.linkedin.restli.server.annotations.Key[] annoKeys) { Set<Key> keys = new HashSet<Key>(); for(com.linkedin.restli.server.annotations.Key key : annoKeys) { keys.add(buildKey(resourceName, key.name(), key.type(), key.typeref())); } return keys; }
/** * @author nshankar */ @RestLiAssociation(name = "typerefCustomDoubleAssociationKeyResource", namespace = "com.linkedin.restli.examples.greetings.client", assocKeys = {@Key(name = "src", type = CustomDouble.class, typeref = CustomDoubleRef.class), @Key(name = "dest", type = URI.class, typeref = UriRef.class)}) public class TyperefCustomDoubleAssociationKeyResource extends AssociationResourceTemplate<Message> { @RestMethod.Get public Message get(final CompoundKey key, @QueryParam(value = "array", typeref = CustomStringRef.class) final CustomString[] stringArray) { return new Message().setId(((CustomDouble) key.getPart("src")).toDouble() + "->" + ((URI) key.getPart( "dest")).getHost()) .setMessage(String.format("I need some $20. Array contents %s.", Arrays.asList(stringArray))) .setTone(Tone.SINCERE); } }