001/* 002 * SPDX-License-Identifier: Apache-2.0 003 * 004 * Copyright 2025-2026 The Enola <https://enola.dev> Authors 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * https://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package dev.enola.ai.iri; 019 020import java.net.URI; 021import java.util.List; 022 023public abstract class MockModelProvider<T> implements Provider<T> { 024 025 protected static final String SCHEME = "mocklm"; 026 public static final URI EXAMPLE_URI = URI.create(SCHEME + ":Hello,%20world!"); 027 028 @Override 029 public String name() { 030 return "Mock 🦜"; 031 } 032 033 @Override 034 public String docURL() { 035 return "https://docs.enola.dev/specs/aiuri/#mock"; 036 } 037 038 @Override 039 public Iterable<String> uriTemplates() { 040 return List.of(SCHEME + ":{reply}"); 041 } 042 043 @Override 044 public Iterable<URI> uriExamples() { 045 return List.of(EXAMPLE_URI); 046 } 047}