/** * Extracts the ids of the given values in case they're {@link Identifiable}s. Returns all other objects as they are. * * @param values must not be {@literal null}. * @return */ private Object[] unwrapIdentifyables(Object[] values) { return Arrays.stream(values) // .map(element -> element instanceof Identifiable ? ((Identifiable<?>) element).getId().get() : element) // .toArray(); } }
protected D createResource(T entity, Object... parameters) { return createResourceWithId(entity.getId(), entity, parameters); }
@Override public Link linkToSingleResource(Identifiable<?> entity) { Assert.notNull(entity, "Entity must not be null!"); return linkToSingleResource(entity.getClass(), entity.getId()); }
@Override public LinkBuilder linkForSingleResource(Identifiable<?> entity) { Assert.notNull(entity, "Entity must not be null!"); return linkForSingleResource(entity.getClass(), entity.getId()); } }
public T slash(Identifiable<?> identifyable) { if (identifyable == null) { return getThis(); } return slash(identifyable.getId()); }
Identifiable findIdentifiable(UUID id, List<? extends Identifiable> list) { for (Identifiable ident : list) { if (ident.getId().equals(id)) return ident; } return null; }
public class AssignedTableGenerator extends TableGenerator { @Override public Serializable generate(SessionImplementor session, Object obj) { if(obj instanceof Identifiable) { Identifiable identifiable = (Identifiable) obj; Serializable id = identifiable.getId(); if(id != null) { return id; } } return super.generate(session, obj); } }
class IdentifiableJsonSerializer extends JsonSerializer<Identifiable> { @Override public void serialize(Identifiable value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeString(value.getId()); } }
/** * Extracts the ids of the given values in case they're {@link Identifiable}s. Returns all other objects as they are. * * @param values must not be {@literal null}. * @return */ private Object[] unwrapIdentifyables(Object[] values) { List<Object> result = new ArrayList<Object>(values.length); for (Object element : Arrays.asList(values)) { result.add(element instanceof Identifiable ? ((Identifiable<?>) element).getId() : element); } return result.toArray(); } }
@Override public Link linkToSingleResource(Identifiable<?> entity) { Assert.notNull(entity, "Entity must not be null!"); return linkToSingleResource(entity.getClass(), entity.getId()); }
@Override public LinkBuilder linkForSingleResource(Identifiable<?> entity) { Assert.notNull(entity, "Entity must not be null!"); return linkForSingleResource(entity.getClass(), entity.getId()); } }
@Override public AffordanceBuilder slash(Identifiable<?> identifiable) { if (identifiable == null) { return this; } return slash(identifiable.getId()); }
@Override public void serialize(Identifiable<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { provider.defaultSerializeValue(value.getId(), jgen); } }
@Override public RouterLinkBuilder slash(Identifiable<?> identifiable) { return slash(identifiable.getId()); }
@Override public AffordanceBuilder slash(Identifiable<?> identifiable) { if (identifiable == null) { return this; } return slash(identifiable.getId()); }
public static String toFriendlyId(Identifiable<UUID> entity) { return FriendlyId.toFriendlyId(entity.getId()); } }
public static <T extends Serializable, S extends Identifiable<T>> List<Suggest<T>> wrapIdentifiable(final Collection<S> list, final String valueField) { List<Suggest<T>> suggests = new ArrayList<Suggest<T>>(list.size()); for (S value : list) { suggests.add(new SuggestImpl<T>(value.getId(), valueField)); } return suggests; }
public RouterLinkBuilder slash(String name, Identifiable<?> identifiable) { return slash(name, identifiable.getId()); }
public void marshal(final Object source, final HierarchicalStreamWriter writer, final MarshallingContext context) { if(source instanceof Identifiable){ writer.setValue(((Identifiable<?>)source).getId().toString()); } }
public static String toFriendlyId(Identifiable<UUID> entity) { return FriendlyId.toFriendlyId(entity.getId()); } }