1 /* 2 * Copyright (c) 2023. Roland T. Lichti, Kaiserpfalz EDV-Service. 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18 package de.kaiserpfalzedv.commons.api.libravatar; 19 20 /** 21 * <p>Avatar -- A single avatar to be displayed.</p> 22 * 23 * @author rlichti {@literal <rlichti@kaiserpfalz-edv.de>} 24 * @since 3.0.0 2023-01-19 25 */ 26 public interface Avatar { 27 /*** 28 * 29 * @return The Libravatar itself 30 */ 31 byte[] download(final AvatarOptions options); 32 33 /** 34 * Builds the URI according to set options and the given email Address. 35 * 36 * @return The URI for retrieving the Libravatar. 37 */ 38 String buildUrl(final AvatarOptions options); 39 40 String getEmail(); 41 }