001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.juneau.bean.mcp.v20260728;
018
019import org.apache.juneau.marshall.*;
020
021/**
022 * A model family/name hint for {@link ModelPreferences#getHints()} (MCP sampling).
023 */
024@Marshalled
025public class ModelHint {
026
027   private String name;
028
029   /**
030    * A model family/name substring the server should prefer (fuzzy match; the schema explicitly allows
031    * partial matches, e.g. {@code "claude"}).
032    *
033    * @return The hint name, or {@code null} if not set.
034    */
035   public String getName() {
036      return name;
037   }
038
039   /**
040    * Sets the hint name.
041    *
042    * @param value The new value.  Can be <jk>null</jk> to unset the property.
043    * @return This object (for method chaining).
044    */
045   public ModelHint setName(String value) {
046      name = value;
047      return this;
048   }
049}