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 * MCP resource-template descriptor ({@code resources/templates/list} entry).
023 */
024@Marshalled
025public class ResourceTemplate {
026
027   private String uriTemplate;
028   private String name;
029   private String title;
030   private String description;
031   private String mimeType;
032
033   /**
034    * URI template (RFC 6570) describing matching resource URIs.
035    *
036    * @return The URI template, or {@code null} if not set.
037    */
038   public String getUriTemplate() {
039      return uriTemplate;
040   }
041
042   /**
043    * Sets the URI template.
044    *
045    * @param value The new value.  Can be <jk>null</jk> to unset the property.
046    * @return This object (for method chaining).
047    */
048   public ResourceTemplate setUriTemplate(String value) {
049      uriTemplate = value;
050      return this;
051   }
052
053   /**
054    * Short template name.
055    *
056    * @return The name, or {@code null} if not set.
057    */
058   public String getName() {
059      return name;
060   }
061
062   /**
063    * Sets the short name.
064    *
065    * @param value The new value.  Can be <jk>null</jk> to unset the property.
066    * @return This object (for method chaining).
067    */
068   public ResourceTemplate setName(String value) {
069      name = value;
070      return this;
071   }
072
073   /**
074    * Human-readable title.
075    *
076    * @return The title, or {@code null} if not set.
077    */
078   public String getTitle() {
079      return title;
080   }
081
082   /**
083    * Sets the title.
084    *
085    * @param value The new value.  Can be <jk>null</jk> to unset the property.
086    * @return This object (for method chaining).
087    */
088   public ResourceTemplate setTitle(String value) {
089      title = value;
090      return this;
091   }
092
093   /**
094    * Template description.
095    *
096    * @return The description, or {@code null} if not set.
097    */
098   public String getDescription() {
099      return description;
100   }
101
102   /**
103    * Sets the description.
104    *
105    * @param value The new value.  Can be <jk>null</jk> to unset the property.
106    * @return This object (for method chaining).
107    */
108   public ResourceTemplate setDescription(String value) {
109      description = value;
110      return this;
111   }
112
113   /**
114    * MIME type hint for matching resources.
115    *
116    * @return The MIME type, or {@code null} if not set.
117    */
118   public String getMimeType() {
119      return mimeType;
120   }
121
122   /**
123    * Sets the MIME type.
124    *
125    * @param value The new value.  Can be <jk>null</jk> to unset the property.
126    * @return This object (for method chaining).
127    */
128   public ResourceTemplate setMimeType(String value) {
129      mimeType = value;
130      return this;
131   }
132}