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.jsonschema; 018 019import java.util.*; 020 021/** 022 * Convenience class for representing a property that's an array of simple types. 023 * 024 * <p> 025 * An instance of this object is equivalent to calling... 026 * 027 * <p class='bjava'> 028 * JsonSchemaProperty <jv>property</jv> = <jk>new</jk> JsonSchemaProperty(<jv>name</jv>) 029 * .setType(JsonType.<jsf>ARRAY</jsf>) 030 * .setItems( 031 * <jk>new</jk> JsonSchema().setType(<jv>elementType</jv>) 032 * ); 033 * </p> 034 */ 035public class JsonSchemaPropertySimpleArray extends JsonSchemaProperty { 036 037 /** 038 * Constructor. 039 * 040 * @param name The name of the schema property. 041 * @param elementType The JSON type of the elements in the array. 042 */ 043 public JsonSchemaPropertySimpleArray(String name, JsonType elementType) { 044 setName(name); 045 setType(JsonType.ARRAY); 046 setItems(new JsonSchema().setType(elementType)); 047 } 048 049 @Override /* Overridden from JsonSchemaProperty */ 050 public JsonSchemaPropertySimpleArray addAdditionalItems(JsonSchema...additionalItems) { 051 super.addAdditionalItems(additionalItems); 052 return this; 053 } 054 055 @Override /* Overridden from JsonSchemaProperty */ 056 public JsonSchemaPropertySimpleArray addAllOf(JsonSchema...allOf) { 057 super.addAllOf(allOf); 058 return this; 059 } 060 061 @Override /* Overridden from JsonSchemaProperty */ 062 public JsonSchemaPropertySimpleArray addAnyOf(JsonSchema...anyOf) { 063 super.addAnyOf(anyOf); 064 return this; 065 } 066 067 @Override /* Overridden from JsonSchemaProperty */ 068 public JsonSchemaPropertySimpleArray addDef(String name, JsonSchema def) { 069 super.addDef(name, def); 070 return this; 071 } 072 073 @Override /* Overridden from JsonSchemaProperty */ 074 public JsonSchemaPropertySimpleArray addDefinition(String name, JsonSchema definition) { 075 super.addDefinition(name, definition); 076 return this; 077 } 078 079 @Override /* Overridden from JsonSchemaProperty */ 080 public JsonSchemaPropertySimpleArray addDependency(String name, JsonSchema dependency) { 081 super.addDependency(name, dependency); 082 return this; 083 } 084 085 @Override /* Overridden from JsonSchemaProperty */ 086 public JsonSchemaPropertySimpleArray addDependentRequired(String name, List<String> required) { 087 super.addDependentRequired(name, required); 088 return this; 089 } 090 091 @Override /* Overridden from JsonSchemaProperty */ 092 public JsonSchemaPropertySimpleArray addDependentSchema(String name, JsonSchema schema) { 093 super.addDependentSchema(name, schema); 094 return this; 095 } 096 097 @Override /* Overridden from JsonSchemaProperty */ 098 public JsonSchemaPropertySimpleArray addEnum(Object...enum_) { 099 super.addEnum(enum_); 100 return this; 101 } 102 103 @Override /* Overridden from JsonSchemaProperty */ 104 public JsonSchemaPropertySimpleArray addExamples(Object...examples) { 105 super.addExamples(examples); 106 return this; 107 } 108 109 @Override /* Overridden from JsonSchemaProperty */ 110 public JsonSchemaPropertySimpleArray addItems(JsonSchema...items) { 111 super.addItems(items); 112 return this; 113 } 114 115 @Override /* Overridden from JsonSchemaProperty */ 116 public JsonSchemaPropertySimpleArray addOneOf(JsonSchema...oneOf) { 117 super.addOneOf(oneOf); 118 return this; 119 } 120 121 @Override /* Overridden from JsonSchemaProperty */ 122 public JsonSchemaPropertySimpleArray addPatternProperties(JsonSchemaProperty...properties) { 123 super.addPatternProperties(properties); 124 return this; 125 } 126 127 @Override /* Overridden from JsonSchemaProperty */ 128 public JsonSchemaPropertySimpleArray addPrefixItems(JsonSchema...prefixItems) { 129 super.addPrefixItems(prefixItems); 130 return this; 131 } 132 133 @Override /* Overridden from JsonSchemaProperty */ 134 public JsonSchemaPropertySimpleArray addProperties(JsonSchema...properties) { 135 super.addProperties(properties); 136 return this; 137 } 138 139 @Override /* Overridden from JsonSchemaProperty */ 140 public JsonSchemaPropertySimpleArray addRequired(JsonSchemaProperty...properties) { 141 super.addRequired(properties); 142 return this; 143 } 144 145 @Override /* Overridden from JsonSchemaProperty */ 146 public JsonSchemaPropertySimpleArray addRequired(List<String> required) { 147 super.addRequired(required); 148 return this; 149 } 150 151 @Override /* Overridden from JsonSchemaProperty */ 152 public JsonSchemaPropertySimpleArray addRequired(String...required) { 153 super.addRequired(required); 154 return this; 155 } 156 157 @Override /* Overridden from JsonSchemaProperty */ 158 public JsonSchemaPropertySimpleArray addTypes(JsonType...types) { 159 super.addTypes(types); 160 return this; 161 } 162 163 @Override /* Overridden from JsonSchemaProperty */ 164 public JsonSchemaPropertySimpleArray setAllOf(List<JsonSchema> allOf) { 165 super.setAllOf(allOf); 166 return this; 167 } 168 169 @Override /* Overridden from JsonSchemaProperty */ 170 public JsonSchemaPropertySimpleArray setAnyOf(List<JsonSchema> anyOf) { 171 super.setAnyOf(anyOf); 172 return this; 173 } 174 175 @Override /* Overridden from JsonSchemaProperty */ 176 public JsonSchemaPropertySimpleArray setConst(Object const_) { 177 super.setConst(const_); 178 return this; 179 } 180 181 @Override /* Overridden from JsonSchemaProperty */ 182 public JsonSchemaPropertySimpleArray setContentEncoding(String contentEncoding) { 183 super.setContentEncoding(contentEncoding); 184 return this; 185 } 186 187 @Override /* Overridden from JsonSchemaProperty */ 188 public JsonSchemaPropertySimpleArray setContentMediaType(String contentMediaType) { 189 super.setContentMediaType(contentMediaType); 190 return this; 191 } 192 193 @Override /* Overridden from JsonSchemaProperty */ 194 public JsonSchemaPropertySimpleArray setDefinitions(Map<String,JsonSchema> definitions) { 195 super.setDefinitions(definitions); 196 return this; 197 } 198 199 @Override /* Overridden from JsonSchemaProperty */ 200 public JsonSchemaPropertySimpleArray setDependencies(Map<String,JsonSchema> dependencies) { 201 super.setDependencies(dependencies); 202 return this; 203 } 204 205 @Override /* Overridden from JsonSchemaProperty */ 206 public JsonSchemaPropertySimpleArray setDependentRequired(Map<String,List<String>> dependentRequired) { 207 super.setDependentRequired(dependentRequired); 208 return this; 209 } 210 211 @Override /* Overridden from JsonSchemaProperty */ 212 public JsonSchemaPropertySimpleArray setDependentSchemas(Map<String,JsonSchema> dependentSchemas) { 213 super.setDependentSchemas(dependentSchemas); 214 return this; 215 } 216 217 @Override /* Overridden from JsonSchemaProperty */ 218 public JsonSchemaPropertySimpleArray setDescription(String description) { 219 super.setDescription(description); 220 return this; 221 } 222 223 @Override /* Overridden from JsonSchemaProperty */ 224 public JsonSchemaPropertySimpleArray setEnum(List<Object> enum_) { 225 super.setEnum(enum_); 226 return this; 227 } 228 229 @Override /* Overridden from JsonSchemaProperty */ 230 public JsonSchemaPropertySimpleArray setExamples(List<Object> examples) { 231 super.setExamples(examples); 232 return this; 233 } 234 235 @Override /* Overridden from JsonSchemaProperty */ 236 public JsonSchemaPropertySimpleArray setExclusiveMaximum(Number exclusiveMaximum) { 237 super.setExclusiveMaximum(exclusiveMaximum); 238 return this; 239 } 240 241 @Override /* Overridden from JsonSchemaProperty */ 242 public JsonSchemaPropertySimpleArray setExclusiveMinimum(Number exclusiveMinimum) { 243 super.setExclusiveMinimum(exclusiveMinimum); 244 return this; 245 } 246 247 @Override /* Overridden from JsonSchemaProperty */ 248 public JsonSchemaPropertySimpleArray setId(Object id) { 249 super.setId(id); 250 return this; 251 } 252 253 @Override /* Overridden from JsonSchemaProperty */ 254 public JsonSchemaPropertySimpleArray setMaximum(Number maximum) { 255 super.setMaximum(maximum); 256 return this; 257 } 258 259 @Override /* Overridden from JsonSchemaProperty */ 260 public JsonSchemaPropertySimpleArray setMaxItems(Integer maxItems) { 261 super.setMaxItems(maxItems); 262 return this; 263 } 264 265 @Override /* Overridden from JsonSchemaProperty */ 266 public JsonSchemaPropertySimpleArray setMaxLength(Integer maxLength) { 267 super.setMaxLength(maxLength); 268 return this; 269 } 270 271 @Override /* Overridden from JsonSchemaProperty */ 272 public JsonSchemaPropertySimpleArray setMaxProperties(Integer maxProperties) { 273 super.setMaxProperties(maxProperties); 274 return this; 275 } 276 277 @Override /* Overridden from JsonSchemaProperty */ 278 public JsonSchemaPropertySimpleArray setMinimum(Number minimum) { 279 super.setMinimum(minimum); 280 return this; 281 } 282 283 @Override /* Overridden from JsonSchemaProperty */ 284 public JsonSchemaPropertySimpleArray setMinItems(Integer minItems) { 285 super.setMinItems(minItems); 286 return this; 287 } 288 289 @Override /* Overridden from JsonSchemaProperty */ 290 public JsonSchemaPropertySimpleArray setMinLength(Integer minLength) { 291 super.setMinLength(minLength); 292 return this; 293 } 294 295 @Override /* Overridden from JsonSchemaProperty */ 296 public JsonSchemaPropertySimpleArray setMinProperties(Integer minProperties) { 297 super.setMinProperties(minProperties); 298 return this; 299 } 300 301 @Override /* Overridden from JsonSchemaProperty */ 302 public JsonSchemaPropertySimpleArray setMultipleOf(Number multipleOf) { 303 super.setMultipleOf(multipleOf); 304 return this; 305 } 306 307 @Override /* Overridden from JsonSchemaProperty */ 308 public JsonSchemaPropertySimpleArray setName(String name) { 309 super.setName(name); 310 return this; 311 } 312 313 @Override /* Overridden from JsonSchemaProperty */ 314 public JsonSchemaPropertySimpleArray setNot(JsonSchema not) { 315 super.setNot(not); 316 return this; 317 } 318 319 @Override /* Overridden from JsonSchemaProperty */ 320 public JsonSchemaPropertySimpleArray setOneOf(List<JsonSchema> oneOf) { 321 super.setOneOf(oneOf); 322 return this; 323 } 324 325 @Override /* Overridden from JsonSchemaProperty */ 326 public JsonSchemaPropertySimpleArray setPattern(String pattern) { 327 super.setPattern(pattern); 328 return this; 329 } 330 331 @Override /* Overridden from JsonSchemaProperty */ 332 public JsonSchemaPropertySimpleArray setPatternProperties(Map<String,JsonSchema> patternProperties) { 333 super.setPatternProperties(patternProperties); 334 return this; 335 } 336 337 @Override /* Overridden from JsonSchemaProperty */ 338 public JsonSchemaPropertySimpleArray setPrefixItems(JsonSchemaArray prefixItems) { 339 super.setPrefixItems(prefixItems); 340 return this; 341 } 342 343 @Override /* Overridden from JsonSchemaProperty */ 344 public JsonSchemaPropertySimpleArray setProperties(Map<String,JsonSchema> properties) { 345 super.setProperties(properties); 346 return this; 347 } 348 349 @Override /* Overridden from JsonSchemaProperty */ 350 public JsonSchemaPropertySimpleArray setReadOnly(Boolean readOnly) { 351 super.setReadOnly(readOnly); 352 return this; 353 } 354 355 @Override /* Overridden from JsonSchemaProperty */ 356 public JsonSchemaPropertySimpleArray setRequired(List<String> required) { 357 super.setRequired(required); 358 return this; 359 } 360 361 @Override /* Overridden from JsonSchemaProperty */ 362 public JsonSchemaPropertySimpleArray setSchemaMap(JsonSchemaMap schemaMap) { 363 super.setSchemaMap(schemaMap); 364 return this; 365 } 366 367 @Override /* Overridden from JsonSchemaProperty */ 368 public JsonSchemaPropertySimpleArray setTitle(String title) { 369 super.setTitle(title); 370 return this; 371 } 372 373 @Override /* Overridden from JsonSchemaProperty */ 374 public JsonSchemaPropertySimpleArray setType(Object type) { 375 super.setType(type); 376 return this; 377 } 378 379 @Override /* Overridden from JsonSchemaProperty */ 380 public JsonSchemaPropertySimpleArray setUnevaluatedItems(JsonSchema unevaluatedItems) { 381 super.setUnevaluatedItems(unevaluatedItems); 382 return this; 383 } 384 385 @Override /* Overridden from JsonSchemaProperty */ 386 public JsonSchemaPropertySimpleArray setUnevaluatedProperties(JsonSchema unevaluatedProperties) { 387 super.setUnevaluatedProperties(unevaluatedProperties); 388 return this; 389 } 390 391 @Override /* Overridden from JsonSchemaProperty */ 392 public JsonSchemaPropertySimpleArray setUniqueItems(Boolean uniqueItems) { 393 super.setUniqueItems(uniqueItems); 394 return this; 395 } 396 397 @Override /* Overridden from JsonSchemaProperty */ 398 public JsonSchemaPropertySimpleArray setWriteOnly(Boolean writeOnly) { 399 super.setWriteOnly(writeOnly); 400 return this; 401 } 402}