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.camel.model.rest; 018 019import javax.xml.bind.annotation.XmlAccessType; 020import javax.xml.bind.annotation.XmlAccessorType; 021import javax.xml.bind.annotation.XmlAttribute; 022import javax.xml.bind.annotation.XmlTransient; 023 024import org.apache.camel.spi.Metadata; 025 026/** 027 * To specify the rest security definitions using Swagger. 028 */ 029@XmlAccessorType(XmlAccessType.FIELD) 030public abstract class RestSecurityDefinition { 031 032 @XmlTransient 033 RestDefinition rest; 034 035 @XmlAttribute(required = true) 036 @Metadata(required = true) 037 private String key; 038 039 @XmlAttribute 040 private String description; 041 042 public RestSecurityDefinition() { 043 } 044 045 public RestSecurityDefinition(RestDefinition rest) { 046 this.rest = rest; 047 } 048 049 /** 050 * Ends the configuration of this security 051 */ 052 public RestDefinition endSecurityDefinition() { 053 rest.getSecurityDefinitions().getSecurityDefinitions().add(this); 054 return rest; 055 } 056 057 public String getKey() { 058 return key; 059 } 060 061 /** 062 * Key used to refer to this security definition 063 */ 064 public void setKey(String key) { 065 this.key = key; 066 } 067 068 public String getDescription() { 069 return description; 070 } 071 072 /** 073 * A short description for security scheme. 074 */ 075 public void setDescription(String description) { 076 this.description = description; 077 } 078 079}