diff options
| author | Akash Keshav <112591754+domesticchores@users.noreply.github.com> | 2025-02-15 15:16:51 -0500 | 
|---|---|---|
| committer | Akash Keshav <112591754+domesticchores@users.noreply.github.com> | 2025-02-15 15:16:51 -0500 | 
| commit | b11c379c40981bb83e876485681fe7d5597e0494 (patch) | |
| tree | c8825648455f68a58c96867e18ba3fc64c344a9a | |
| parent | dcbb466a9f4265c9528ff38b3100d2e55286e607 (diff) | |
| download | JellySolutions-b11c379c40981bb83e876485681fe7d5597e0494.tar.gz JellySolutions-b11c379c40981bb83e876485681fe7d5597e0494.tar.bz2 JellySolutions-b11c379c40981bb83e876485681fe7d5597e0494.zip  | |
Created Cupboard DAO file. -ak
| -rw-r--r-- | ufund-api/src/main/java/com/ufund/api/ufundapi/CupboardDAO.java | 81 | 
1 files changed, 81 insertions, 0 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/CupboardDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/CupboardDAO.java new file mode 100644 index 0000000..65a6656 --- /dev/null +++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/CupboardDAO.java @@ -0,0 +1,81 @@ +package com.ufund.api.ufundapi; + +import java.io.IOException; + +/** + * Defines the interface for Need object persistence + *  + * @author Team 2B Jelly Solutions + */ +public interface CupboardDAO { +    /** +     * Retrieves all {@linkplain Need needs} +     *  +     * @return An array of {@link Need need} objects, may be empty +     *  +     * @throws IOException if an issue with underlying storage +     */ +    Need[] getNeeds() throws IOException; + +    /** +     * Finds all {@linkplain Hero heroes} whose name contains the given text +     *  +     * @param containsText The text to match against +     *  +     * @return An array of {@link Need needs} whose nemes contains the given text, may be empty +     *  +     * @throws IOException if an issue with underlying storage +     */ +    Need[] findNeeds(String targetName) throws IOException; + +    /** +     * Retrieves a {@linkplain Need need} with the given name +     *  +     * @param name The name of the {@link Need need} to get +     *  +     * @return a {@link Need need} object with the matching name +     * <br> +     * null if no {@link Need need} with a matching name is found +     *  +     * @throws IOException if an issue with underlying storage +     */ +    Need getNeed(int id) throws IOException; + +    /** +     * Creates and saves a {@linkplain Need need} +     *  +     * @param hero {@linkplain Need need} object to be created and saved +     * <br> +     * The id of the need object is automatically incremented. +     * +     * @return new {@link Need need} if successful, false otherwise  +     *  +     * @throws IOException if an issue with underlying storage +     */ +    Need createNeed(Need need) throws IOException; + +    /** +     * Updates and saves a {@linkplain Need need} +     *  +     * @param {@link Need need} object to be updated and saved +     *  +     * @return updated {@link Need need} if successful, null if +     * {@link Need need} could not be found +     *  +     * @throws IOException if underlying storage cannot be accessed +     */ +    Need updateNeed(Need need) throws IOException; + +    /** +     * Deletes a {@linkplain Need need} with the given id +     *  +     * @param id The id of the {@link Need need} +     *  +     * @return true if the {@link Need need} was deleted +     * <br> +     * false if need with the given id does not exist +     *  +     * @throws IOException if underlying storage cannot be accessed +     */ +    boolean deleteNeed(int id) throws IOException; +}  | 
