private void assignLinksMethod() { if (linksMethod == null) { linksMethod = ClassUtils.findMethodWith(implementationClass, JsonApiLinks.class); } }
private void assignMetaMethod() { if (metaMethod == null) { metaMethod = ClassUtils.findMethodWith(implementationClass, JsonApiMeta.class); } }
public void delete(ID id, QueryAdapter queryAdapter) { Class<JsonApiDelete> annotationType = JsonApiDelete.class; if (deleteMethod == null) { deleteMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } invokeOperation(deleteMethod, annotationType, new Object[]{id}, queryAdapter); } }
private void initializeGetterAndSetter(Class<T> resourceClass) { this.jsonAnyGetter = ClassUtils.findMethodWith(resourceClass, JsonAnyGetter.class); this.jsonAnySetter = ClassUtils.findMethodWith(resourceClass, JsonAnySetter.class); if (absentAnySetter()) { throw new InvalidResourceException( String.format("A resource %s has to have both methods annotated with @JsonAnySetter and @JsonAnyGetter", resourceClass.getCanonicalName())); } }
public void setRelations(T source, Iterable<D_ID> targetIds, String fieldName, QueryAdapter queryAdapter) { Class<JsonApiSetRelations> annotationType = JsonApiSetRelations.class; if (setRelationsMethod == null) { setRelationsMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } invokeOperation(setRelationsMethod, annotationType, new Object[]{source, targetIds, fieldName}, queryAdapter); }
public Object findManyTargets(T_ID sourceId, String fieldName, QueryAdapter queryAdapter) { Class<JsonApiFindManyTargets> annotationType = JsonApiFindManyTargets.class; if (findManyTargetsMethod == null) { findManyTargetsMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } return invokeOperation(findManyTargetsMethod, annotationType, new Object[]{sourceId, fieldName}, queryAdapter); } }
public void addRelations(T source, Iterable<D_ID> targetIds, String fieldName, QueryAdapter queryAdapter) { Class<JsonApiAddRelations> annotationType = JsonApiAddRelations.class; if (addRelationsMethod == null) { addRelationsMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } invokeOperation(addRelationsMethod, annotationType, new Object[]{source, targetIds, fieldName}, queryAdapter); }
public Object findAll(QueryAdapter queryAdapter) { Class<JsonApiFindAll> annotationType = JsonApiFindAll.class; if (findAllMethod == null) { findAllMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } return invokeOperation(findAllMethod, annotationType, new Object[]{}, queryAdapter); }
public Object findAll(Iterable<ID> ids, QueryAdapter queryAdapter) { Class<JsonApiFindAllWithIds> annotationType = JsonApiFindAllWithIds.class; if (findAllWithIds == null) { findAllWithIds = ClassUtils.findMethodWith(implementationClass, annotationType); } return invokeOperation(findAllWithIds, annotationType, new Object[]{ids}, queryAdapter); }
public void setRelation(T source, D_ID targetId, String fieldName, QueryAdapter queryAdapter) { Class<JsonApiSetRelation> annotationType = JsonApiSetRelation.class; if (setRelationMethod == null) { setRelationMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } invokeOperation(setRelationMethod, annotationType, new Object[]{source, targetId, fieldName}, queryAdapter); }
public void removeRelations(T source, Iterable<D_ID> targetIds, String fieldName, QueryAdapter queryAdapter) { Class<JsonApiRemoveRelations> annotationType = JsonApiRemoveRelations.class; if (removeRelationsMethod == null) { removeRelationsMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } invokeOperation(removeRelationsMethod, annotationType, new Object[]{source, targetIds, fieldName}, queryAdapter); }
public Object findOneTarget(T_ID sourceId, String fieldName, QueryAdapter queryAdapter) { Class<JsonApiFindOneTarget> annotationType = JsonApiFindOneTarget.class; if (findOneTargetMethod == null) { findOneTargetMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } return invokeOperation(findOneTargetMethod, annotationType, new Object[]{sourceId, fieldName}, queryAdapter); }
public Object findOne(ID id, QueryAdapter queryAdapter) { Class<JsonApiFindOne> annotationType = JsonApiFindOne.class; if (findOneMethod == null) { findOneMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } return invokeOperation(findOneMethod, annotationType, new Object[]{id}, queryAdapter); }
public <S extends T> Object save(S entity) { Class<JsonApiSave> annotationType = JsonApiSave.class; if (saveMethod == null) { saveMethod = ClassUtils.findMethodWith(implementationClass, annotationType); } return invokeOperation(saveMethod, annotationType, new Object[]{entity}); }