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