001// ***************************************************************************************************************************
002// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
003// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
004// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
005// * with the License.  You may obtain a copy of the License at                                                              *
006// *                                                                                                                         *
007// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
008// *                                                                                                                         *
009// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
010// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
011// * specific language governing permissions and limitations under the License.                                              *
012// ***************************************************************************************************************************
013package org.apache.juneau.jena;
014
015import static org.apache.juneau.jena.RdfCommon.*;
016import static org.apache.juneau.jena.RdfParser.*;
017
018import java.lang.annotation.*;
019import java.lang.reflect.*;
020import java.nio.charset.*;
021import java.util.*;
022
023import org.apache.juneau.*;
024import org.apache.juneau.http.*;
025import org.apache.juneau.parser.*;
026import org.apache.juneau.reflect.*;
027import org.apache.juneau.svl.*;
028import org.apache.juneau.xml.*;
029
030/**
031 * Builder class for building instances of RDF parsers.
032 */
033public class RdfParserBuilder extends ReaderParserBuilder {
034
035   /**
036    * Constructor, default settings.
037    */
038   public RdfParserBuilder() {
039      super();
040   }
041
042   /**
043    * Constructor.
044    *
045    * @param ps The initial configuration settings for this builder.
046    */
047   public RdfParserBuilder(PropertyStore ps) {
048      super(ps);
049   }
050
051   @Override /* ContextBuilder */
052   public RdfParser build() {
053      return build(RdfParser.class);
054   }
055
056   //-----------------------------------------------------------------------------------------------------------------
057   // Properties
058   //-----------------------------------------------------------------------------------------------------------------
059
060   /**
061    * Configuration property:  XML namespace for Juneau properties.
062    *
063    * @param value
064    *    The new value for this property.
065    * @return This object (for method chaining).
066    */
067   public RdfParserBuilder juneauNs(String value) {
068      return set(RDF_juneauNs, value);
069   }
070
071   /**
072    * Configuration property:  Default XML namespace for bean properties.
073    *
074    * @param value
075    *    The new value for this property.
076    * @return This object (for method chaining).
077    */
078   public RdfParserBuilder juneauBpNs(String value) {
079      return set(RDF_juneauBpNs, value);
080   }
081
082   /**
083    * Configuration property:  RDF/XML property: <c>iri_rules</c>.
084    *
085    * <p>
086    * Set the engine for checking and resolving.
087    *
088    * <p>
089    * Possible values:
090    * <ul class='spaced-list'>
091    *    <li>
092    *       <js>"lax"</js> - The rules for RDF URI references only, which does permit spaces although the use of spaces
093    *       is not good practice.
094    *    <li>
095    *       <js>"strict"</js> - Sets the IRI engine with rules for valid IRIs, XLink and RDF; it does not permit spaces
096    *       in IRIs.
097    *    <li>
098    *       <js>"iri"</js> - Sets the IRI engine to IRI
099    *       ({@doc http://www.ietf.org/rfc/rfc3986.txt RFC 3986},
100    *       {@doc http://www.ietf.org/rfc/rfc3987.txt RFC 3987}).
101    *
102    * </ul>
103    *
104    * @param value
105    *    The new value for this property.
106    * @return This object (for method chaining).
107    */
108   public RdfParserBuilder arp_iriRules(String value) {
109      return set(RDF_arp_iriRules, value);
110   }
111
112   /**
113    * Configuration property:  RDF/XML ARP property: <c>error-mode</c>.
114    *
115    * <p>
116    * This allows a coarse-grained approach to control of error handling.
117    *
118    * <p>
119    * Possible values:
120    * <ul>
121    *    <li><js>"default"</js>
122    *    <li><js>"lax"</js>
123    *    <li><js>"strict"</js>
124    *    <li><js>"strict-ignore"</js>
125    *    <li><js>"strict-warning"</js>
126    *    <li><js>"strict-error"</js>
127    *    <li><js>"strict-fatal"</js>
128    * </ul>
129    *
130    * @param value
131    *    The new value for this property.
132    * @return This object (for method chaining).
133    */
134   public RdfParserBuilder arp_errorMode(String value) {
135      return set(RDF_arp_errorMode, value);
136   }
137
138   /**
139    * Configuration property:  RDF/XML ARP property: <c>error-mode</c>.
140    *
141    * <p>
142    * Sets ARP to look for RDF embedded within an enclosing XML document.
143    *
144    * @param value
145    *    The new value for this property.
146    * @return This object (for method chaining).
147    */
148   public RdfParserBuilder arp_embedding(boolean value) {
149      return set(RDF_arp_embedding, value);
150   }
151
152   /**
153    * Configuration property:  RDF/XML property: <c>xmlbase</c>.
154    *
155    * <p>
156    * The value to be included for an <xa>xml:base</xa> attribute on the root element in the file.
157    *
158    * @param value
159    *    The new value for this property.
160    * @return This object (for method chaining).
161    */
162   public RdfParserBuilder rdfxml_xmlBase(String value) {
163      return set(RDF_rdfxml_xmlBase, value);
164   }
165
166   /**
167    * Configuration property:  RDF/XML property: <c>longId</c>.
168    *
169    * <p>
170    * Whether to use long ID's for anon resources.
171    * Short ID's are easier to read, but can run out of memory on very large models.
172    *
173    * @param value
174    *    The new value for this property.
175    * @return This object (for method chaining).
176    */
177   public RdfParserBuilder rdfxml_longId(boolean value) {
178      return set(RDF_rdfxml_longId, value);
179   }
180
181   /**
182    * Configuration property:  RDF/XML property: <c>allowBadURIs</c>.
183    *
184    * <p>
185    * URIs in the graph are, by default, checked prior to serialization.
186    *
187    * @param value
188    *    The new value for this property.
189    * @return This object (for method chaining).
190    */
191   public RdfParserBuilder rdfxml_allowBadUris(boolean value) {
192      return set(RDF_rdfxml_allowBadUris, value);
193   }
194
195   /**
196    * Configuration property:  RDF/XML property: <c>relativeURIs</c>.
197    *
198    * <p>
199    * What sort of relative URIs should be used.
200    *
201    * <p>
202    * A comma separate list of options:
203    * <ul class='spaced-list'>
204    *    <li>
205    *       <js>"same-document"</js> - Same-document references (e.g. <js>""</js> or <js>"#foo"</js>)
206    *    <li>
207    *       <js>"network"</js>  - Network paths (e.g. <js>"//example.org/foo"</js> omitting the URI scheme)
208    *    <li>
209    *       <js>"absolute"</js> - Absolute paths (e.g. <js>"/foo"</js> omitting the scheme and authority)
210    *    <li>
211    *       <js>"relative"</js> - Relative path not beginning in <js>"../"</js>
212    *    <li>
213    *       <js>"parent"</js> - Relative path beginning in <js>"../"</js>
214    *    <li>
215    *       <js>"grandparent"</js> - Relative path beginning in <js>"../../"</js>
216    * </ul>
217    *
218    * <p>
219    * The default value is <js>"same-document, absolute, relative, parent"</js>.
220    * To switch off relative URIs use the value <js>""</js>.
221    * Relative URIs of any of these types are output where possible if and only if the option has been specified.
222    *
223    * @param value
224    *    The new value for this property.
225    * @return This object (for method chaining).
226    */
227   public RdfParserBuilder rdfxml_relativeUris(String value) {
228      return set(RDF_rdfxml_relativeUris, value);
229   }
230
231   /**
232    * Configuration property:  RDF/XML property: <c>showXmlDeclaration</c>.
233    *
234    * <p>
235    * Possible values:
236    * <ul class='spaced-list'>
237    *    <li>
238    *       <js>"true"</js> - Add XML Declaration to the output.
239    *    <li>
240    *       <js>"false"</js> - Don't add XML Declaration to the output.
241    *    <li>
242    *       <js>"default"</js> - Only add an XML Declaration when asked to write to an <c>OutputStreamWriter</c>
243    *       that uses some encoding other than <c>UTF-8</c> or <c>UTF-16</c>.
244    *       In this case the encoding is shown in the XML declaration.
245    * </ul>
246    *
247    * @param value
248    *    The new value for this property.
249    * @return This object (for method chaining).
250    */
251   public RdfParserBuilder rdfxml_showXmlDeclaration(String value) {
252      return set(RDF_rdfxml_showXmlDeclaration, value);
253   }
254
255   /**
256    * Configuration property:  RDF/XML property: <c>showDoctypeDeclaration</c>.
257    *
258    * <p>
259    * If true, an XML doctype declaration is included in the output.
260    * This declaration includes a <c>!ENTITY</c> declaration for each prefix mapping in the model, and any
261    * attribute value that starts with the URI of that mapping is written as starting with the corresponding entity
262    * invocation.
263    *
264    * @param value
265    *    The new value for this property.
266    * @return This object (for method chaining).
267    */
268   public RdfParserBuilder rdfxml_showDoctypeDeclaration(boolean value) {
269      return set(RDF_rdfxml_showDoctypeDeclaration, value);
270   }
271
272   /**
273    * Configuration property:  RDF/XML property: <c>tab</c>.
274    *
275    * <p>
276    * The number of spaces with which to indent XML child elements.
277    *
278    * @param value
279    *    The new value for this property.
280    * @return This object (for method chaining).
281    */
282   public RdfParserBuilder rdfxml_tab(int value) {
283      return set(RDF_rdfxml_tab, value);
284   }
285
286   /**
287    * Configuration property:  RDF/XML property: <c>attributeQuoteChar</c>.
288    *
289    * <p>
290    * The XML attribute quote character.
291    *
292    * @param value
293    *    The new value for this property.
294    * @return This object (for method chaining).
295    */
296   public RdfParserBuilder rdfxml_attributeQuoteChar(String value) {
297      return set(RDF_rdfxml_attributeQuoteChar, value);
298   }
299
300   /**
301    * Configuration property:  RDF/XML property: <c>blockRules</c>.
302    *
303    * <p>
304    * A list of <c>Resource</c> or a <c>String</c> being a comma separated list of fragment IDs from
305    * {@doc http://www.w3.org/TR/rdf-syntax-grammar RDF Syntax Grammar} indicating grammar
306    * rules that will not be used.
307    *
308    * @param value
309    *    The new value for this property.
310    * @return This object (for method chaining).
311    */
312   public RdfParserBuilder rdfxml_blockRules(String value) {
313      return set(RDF_rdfxml_blockRules, value);
314   }
315
316   /**
317    * Configuration property:  N3/Turtle property: <c>minGap</c>.
318    *
319    * <p>
320    * Minimum gap between items on a line.
321    *
322    * @param value
323    *    The new value for this property.
324    * @return This object (for method chaining).
325    */
326   public RdfParserBuilder n3_minGap(int value) {
327      return set(RDF_n3_minGap, value);
328   }
329
330   /**
331    * Configuration property:  N3/Turtle property: <c>objectLists</c>.
332    *
333    * <p>
334    * Print object lists as comma separated lists.
335    *
336    * @param value
337    *    The new value for this property.
338    * @return This object (for method chaining).
339    */
340   public RdfParserBuilder n3_objectLists(boolean value) {
341      return set(RDF_n3_objectLists, value);
342   }
343
344   /**
345    * Configuration property:  N3/Turtle property: <c>subjectColumn</c>.
346    *
347    * <p>
348    * If the subject is shorter than this value, the first property may go on the same line.
349    *
350    * @param value
351    *    The new value for this property.
352    * @return This object (for method chaining).
353    */
354   public RdfParserBuilder n3_subjectColumn(int value) {
355      return set(RDF_n3_subjectColumn, value);
356   }
357
358   /**
359    * Configuration property:  N3/Turtle property: <c>propertyColumn</c>.
360    *
361    * <p>
362    * Width of the property column.
363    *
364    * @param value
365    *    The new value for this property.
366    * @return This object (for method chaining).
367    */
368   public RdfParserBuilder n3_propertyColumn(int value) {
369      return set(RDF_n3_propertyColumn, value);
370   }
371
372   /**
373    * Configuration property:  N3/Turtle property: <c>indentProperty</c>.
374    *
375    * <p>
376    * Width to indent properties.
377    *
378    * @param value
379    *    The new value for this property.
380    * @return This object (for method chaining).
381    */
382   public RdfParserBuilder n3_indentProperty(int value) {
383      return set(RDF_n3_indentProperty, value);
384   }
385
386   /**
387    * Configuration property:  N3/Turtle property: <c>widePropertyLen</c>.
388    *
389    * <p>
390    * Width of the property column.
391    * Must be longer than <c>propertyColumn</c>.
392    *
393    * @param value
394    *    The new value for this property.
395    * @return This object (for method chaining).
396    */
397   public RdfParserBuilder n3_widePropertyLen(int value) {
398      return set(RDF_n3_widePropertyLen, value);
399   }
400
401   /**
402    * Configuration property:  N3/Turtle property: <c>abbrevBaseURI</c>.
403    *
404    * <p>
405    * Control whether to use abbreviations <c>&lt;&gt;</c> or <c>&lt;#&gt;</c>.
406    *
407    * @param value
408    *    The new value for this property.
409    * @return This object (for method chaining).
410    */
411   public RdfParserBuilder n3_abbrevBaseUri(boolean value) {
412      return set(RDF_n3_abbrevBaseUri, value);
413   }
414
415   /**
416    * Configuration property:  N3/Turtle property: <c>usePropertySymbols</c>.
417    *
418    * <p>
419    * Control whether to use <c>a</c>, <c>=</c> and <c>=&gt;</c> in output
420    *
421    * @param value
422    *    The new value for this property.
423    * @return This object (for method chaining).
424    */
425   public RdfParserBuilder n3_usePropertySymbols(boolean value) {
426      return set(RDF_n3_usePropertySymbols, value);
427   }
428
429   /**
430    * Configuration property:  N3/Turtle property: <c>useTripleQuotedStrings</c>.
431    *
432    * <p>
433    * Allow the use of <c>"""</c> to delimit long strings.
434    *
435    * @param value
436    *    The new value for this property.
437    * @return This object (for method chaining).
438    */
439   public RdfParserBuilder n3_useTripleQuotedStrings(boolean value) {
440      return set(RDF_n3_useTripleQuotedStrings, value);
441   }
442
443   /**
444    * Configuration property:  N3/Turtle property: <c>useDoubles</c>.
445    *
446    * <p>
447    * Allow the use doubles as <c>123.456</c>.
448    *
449    * @param value
450    *    The new value for this property.
451    * @return This object (for method chaining).
452    */
453   public RdfParserBuilder n3_useDoubles(boolean value) {
454      return set(RDF_n3_useDoubles, value);
455   }
456
457   /**
458    * Configuration property:  RDF format for representing collections and arrays.
459    *
460    * <p>
461    * Possible values:
462    * <ul class='spaced-list'>
463    *    <li>
464    *       <js>"DEFAULT"</js> - Default format.  The default is an RDF Sequence container.
465    *    <li>
466    *       <js>"SEQ"</js> - RDF Sequence container.
467    *    <li>
468    *       <js>"BAG"</js> - RDF Bag container.
469    *    <li>
470    *       <js>"LIST"</js> - RDF List container.
471    *    <li>
472    *       <js>"MULTI_VALUED"</js> - Multi-valued properties.
473    * </ul>
474    *
475    * <ul class='notes'>
476    *    <li>
477    *       If you use <js>"BAG"</js> or <js>"MULTI_VALUED"</js>, the order of the elements in the collection will get
478    *       lost.
479    * </ul>
480    *
481    * @param value
482    *    The new value for this property.
483    * @return This object (for method chaining).
484    */
485   public RdfParserBuilder collectionFormat(String value) {
486      return set(RDF_collectionFormat, value);
487   }
488
489   /**
490    * Configuration property:  RDF format for representing collections and arrays.
491    *
492    * <p>
493    * Possible values:
494    * <ul class='spaced-list'>
495    *    <li>
496    *       <js>"DEFAULT"</js> - Default format.  The default is an RDF Sequence container.
497    *    <li>
498    *       <js>"SEQ"</js> - RDF Sequence container.
499    *    <li>
500    *       <js>"BAG"</js> - RDF Bag container.
501    *    <li>
502    *       <js>"LIST"</js> - RDF List container.
503    *    <li>
504    *       <js>"MULTI_VALUED"</js> - Multi-valued properties.
505    * </ul>
506    *
507    * <ul class='seealso'>
508    *    <li class='jf'>{@link RdfParser#RDF_collectionFormat}
509    * </ul>
510    *
511    * @param value The new value for this property.
512    * @return This object (for method chaining).
513    */
514   public RdfParserBuilder collectionFormat(RdfCollectionFormat value) {
515      return set(RDF_collectionFormat, value);
516   }
517
518   /**
519    * Configuration property:  Default XML namespace for bean properties.
520    *
521    * <ul class='seealso'>
522    *    <li class='jf'>{@link RdfParser#RDF_juneauBpNs}
523    * </ul>
524    *
525    * @param value
526    *    The new value for this property.
527    *    <br>The default is <code>{j:<js>'http://www.apache.org/juneaubp/'</js>}</code>.
528    * @return This object (for method chaining).
529    */
530   public RdfParserBuilder juneauBpNs(Namespace value) {
531      return set(RDF_juneauBpNs, value);
532   }
533
534   /**
535    * Configuration property:  XML namespace for Juneau properties.
536    *
537    * <ul class='seealso'>
538    *    <li class='jf'>{@link RdfParser#RDF_juneauNs}
539    * </ul>
540    *
541    * @param value
542    *    The new value for this property.
543    *    <br>The default is <code>{j:<js>'http://www.apache.org/juneau/'</js>}</code>.
544    * @return This object (for method chaining).
545    */
546   public RdfParserBuilder juneauNs(Namespace value) {
547      return set(RDF_juneauNs, value);
548   }
549
550   /**
551    * Configuration property:  RDF language.
552    *
553    * <p>
554    * Can be any of the following:
555    * <ul class='spaced-list'>
556    *    <li>
557    *       <js>"RDF/XML"</js>
558    *    <li>
559    *       <js>"RDF/XML-ABBREV"</js> (default)
560    *    <li>
561    *       <js>"N-TRIPLE"</js>
562    *    <li>
563    *       <js>"N3"</js> - General name for the N3 writer.
564    *       Will make a decision on exactly which writer to use (pretty writer, plain writer or simple writer) when
565    *       created.
566    *       Default is the pretty writer but can be overridden with system property
567    *       <c>org.apache.jena.n3.N3JenaWriter.writer</c>.
568    *    <li>
569    *       <js>"N3-PP"</js> - Name of the N3 pretty writer.
570    *       The pretty writer uses a frame-like layout, with prefixing, clustering like properties and embedding
571    *       one-referenced bNodes.
572    *    <li>
573    *       <js>"N3-PLAIN"</js> - Name of the N3 plain writer.
574    *       The plain writer writes records by subject.
575    *    <li>
576    *       <js>"N3-TRIPLES"</js> - Name of the N3 triples writer.
577    *       This writer writes one line per statement, like N-Triples, but does N3-style prefixing.
578    *    <li>
579    *       <js>"TURTLE"</js> -  Turtle writer.
580    *       http://www.dajobe.org/2004/01/turtle/
581    * </ul>
582    *
583    * <ul class='seealso'>
584    *    <li class='jf'>{@link RdfParser#RDF_language}
585    * </ul>
586    *
587    * @param value The new value for this property.
588    * @return This object (for method chaining).
589    */
590   public RdfParserBuilder language(String value) {
591      return set(RDF_language, value);
592   }
593
594   /**
595    * Configuration property:  Collections should be serialized and parsed as loose collections.
596    *
597    * <p>
598    * When specified, collections of resources are handled as loose collections of resources in RDF instead of
599    * resources that are children of an RDF collection (e.g. Sequence, Bag).
600    *
601    * <ul class='seealso'>
602    *    <li class='jf'>{@link RdfParser#RDF_looseCollections}
603    * </ul>
604    *
605    * @param value
606    *    The new value for this property.
607    *    <br>The default is <jk>false</jk>.
608    * @return This object (for method chaining).
609    */
610   public RdfParserBuilder looseCollections(boolean value) {
611      return set(RDF_looseCollections, value);
612   }
613
614   /**
615    * Configuration property:  Collections should be serialized and parsed as loose collections.
616    *
617    * <p>
618    * Shortcut for calling <code>looseCollection(<jk>true</jk>)</code>.
619    *
620    * <ul class='seealso'>
621    *    <li class='jf'>{@link RdfParser#RDF_looseCollections}
622    * </ul>
623    *
624    * @return This object (for method chaining).
625    */
626   public RdfParserBuilder looseCollections() {
627      return set(RDF_looseCollections, true);
628   }
629
630   /**
631    * Configuration property:  RDF language.
632    *
633    * <p>
634    * Shortcut for calling <code>language(<jsf>LANG_N3</jsf>)</code>.
635    *
636    * <ul class='seealso'>
637    *    <li class='jf'>{@link RdfParser#RDF_language}
638    * </ul>
639    *
640    * @return This object (for method chaining).
641    */
642   public RdfParserBuilder n3() {
643      return language(Constants.LANG_N3);
644   }
645
646   /**
647    * Configuration property:  RDF language.
648    *
649    * <p>
650    * Shortcut for calling <code>language(<jsf>LANG_NTRIPLE</jsf>)</code>.
651    *
652    * <ul class='seealso'>
653    *    <li class='jf'>{@link RdfParser#RDF_language}
654    * </ul>
655    *
656    * @return This object (for method chaining).
657    */
658   public RdfParserBuilder ntriple() {
659      return language(Constants.LANG_NTRIPLE);
660   }
661
662   /**
663    * Configuration property:  Trim whitespace from text elements.
664    *
665    * <p>
666    * If <jk>true</jk>, whitespace in text elements will be automatically trimmed.
667    *
668    * <ul class='seealso'>
669    *    <li class='jf'>{@link RdfParser#RDF_trimWhitespace}
670    * </ul>
671    *
672    * @param value
673    *    The new value for this property.
674    *    <br>The default is <jk>false</jk>.
675    * @return This object (for method chaining).
676    */
677   public RdfParserBuilder trimWhitespace(boolean value) {
678      return set(RDF_trimWhitespace, value);
679   }
680
681   /**
682    * Configuration property:  Trim whitespace from text elements.
683    *
684    * <p>
685    * Shortcut for calling <code>trimWhitespace(<jk>true</jk>)</code>.
686    *
687    * <ul class='seealso'>
688    *    <li class='jf'>{@link RdfParser#RDF_trimWhitespace}
689    * </ul>
690    *
691    * @return This object (for method chaining).
692    */
693   public RdfParserBuilder trimWhitespace() {
694      return set(RDF_trimWhitespace, true);
695   }
696
697   /**
698    * Shortcut for calling <code>language(<jsf>LANG_TURTLE</jsf>)</code>.
699    *
700    * <ul class='seealso'>
701    *    <li class='jf'>{@link RdfParser#RDF_language}
702    * </ul>
703    *
704    * @return This object (for method chaining).
705    */
706   public RdfParserBuilder turtle() {
707      return language(Constants.LANG_TURTLE);
708   }
709
710   /**
711    * Shortcut for calling <code>language(<jsf>LANG_RDF_XML</jsf>)</code>.
712    *
713    * <ul class='seealso'>
714    *    <li class='jf'>{@link RdfParser#RDF_language}
715    * </ul>
716    *
717    * @return This object (for method chaining).
718    */
719   public RdfParserBuilder xml() {
720      return language(Constants.LANG_RDF_XML);
721   }
722
723   /**
724    * Shortcut for calling <code>language(<jsf>LANG_RDF_XML_ABBREV</jsf>)</code>.
725    *
726    * <ul class='seealso'>
727    *    <li class='jf'>{@link RdfParser#RDF_language}
728    * </ul>
729    *
730    * @return This object (for method chaining).
731    */
732   public RdfParserBuilder xmlabbrev() {
733      return language(Constants.LANG_RDF_XML_ABBREV);
734   }
735
736   @Override /* ReaderParserBuilder */
737   public RdfParserBuilder fileCharset(Charset value) {
738      super.fileCharset(value);
739      return this;
740   }
741
742   @Override /* ReaderParserBuilder */
743   public RdfParserBuilder streamCharset(Charset value) {
744      super.streamCharset(value);
745      return this;
746   }
747
748   @Override /* ParserBuilder */
749   public RdfParserBuilder autoCloseStreams(boolean value) {
750      super.autoCloseStreams(value);
751      return this;
752   }
753
754   @Override /* ParserBuilder */
755   public RdfParserBuilder autoCloseStreams() {
756      super.autoCloseStreams();
757      return this;
758   }
759
760   @Override /* ParserBuilder */
761   public RdfParserBuilder debugOutputLines(int value) {
762      super.debugOutputLines(value);
763      return this;
764   }
765
766   @Override /* ParserBuilder */
767   public RdfParserBuilder listener(Class<? extends ParserListener> value) {
768      super.listener(value);
769      return this;
770   }
771
772   @Override /* ParserBuilder */
773   public RdfParserBuilder strict(boolean value) {
774      super.strict(value);
775      return this;
776   }
777
778   @Override /* ParserBuilder */
779   public RdfParserBuilder strict() {
780      super.strict();
781      return this;
782   }
783
784   @Override /* ParserBuilder */
785   public RdfParserBuilder trimStrings(boolean value) {
786      super.trimStrings(value);
787      return this;
788   }
789
790   @Override /* ParserBuilder */
791   public RdfParserBuilder trimStrings() {
792      super.trimStrings();
793      return this;
794   }
795
796   @Override /* ParserBuilder */
797   public RdfParserBuilder unbuffered(boolean value) {
798      super.unbuffered(value);
799      return this;
800   }
801
802   @Override /* ParserBuilder */
803   public RdfParserBuilder unbuffered() {
804      super.unbuffered();
805      return this;
806   }
807
808   @Override /* BeanContextBuilder */
809   public RdfParserBuilder beanClassVisibility(Visibility value) {
810      super.beanClassVisibility(value);
811      return this;
812   }
813
814   @Override /* BeanContextBuilder */
815   public RdfParserBuilder beanConstructorVisibility(Visibility value) {
816      super.beanConstructorVisibility(value);
817      return this;
818   }
819
820   @Override /* BeanContextBuilder */
821   @Deprecated
822   public RdfParserBuilder beanDictionary(Class<?>...values) {
823      super.beanDictionary(values);
824      return this;
825   }
826
827   @Override /* BeanContextBuilder */
828   @Deprecated
829   public RdfParserBuilder beanDictionary(Object...values) {
830      super.beanDictionary(values);
831      return this;
832   }
833
834   @Override /* BeanContextBuilder */
835   @Deprecated
836   public RdfParserBuilder beanDictionaryReplace(Class<?>...values) {
837      super.beanDictionaryReplace(values);
838      return this;
839   }
840
841   @Override /* BeanContextBuilder */
842   @Deprecated
843   public RdfParserBuilder beanDictionaryReplace(Object...values) {
844      super.beanDictionaryReplace(values);
845      return this;
846   }
847
848   @Override /* BeanContextBuilder */
849   @Deprecated
850   public RdfParserBuilder beanDictionaryRemove(Class<?>...values) {
851      super.beanDictionaryRemove(values);
852      return this;
853   }
854
855   @Override /* BeanContextBuilder */
856   @Deprecated
857   public RdfParserBuilder beanDictionaryRemove(Object...values) {
858      super.beanDictionaryRemove(values);
859      return this;
860   }
861
862   @Override /* BeanContextBuilder */
863   public RdfParserBuilder beanFieldVisibility(Visibility value) {
864      super.beanFieldVisibility(value);
865      return this;
866   }
867
868   @Override /* BeanContextBuilder */
869   public RdfParserBuilder beanFilters(Class<?>...values) {
870      super.beanFilters(values);
871      return this;
872   }
873
874   @Override /* BeanContextBuilder */
875   public RdfParserBuilder beanFilters(Object...values) {
876      super.beanFilters(values);
877      return this;
878   }
879
880   @Override /* BeanContextBuilder */
881   public RdfParserBuilder beanFiltersReplace(Class<?>...values) {
882      super.beanFiltersReplace(values);
883      return this;
884   }
885
886   @Override /* BeanContextBuilder */
887   public RdfParserBuilder beanFiltersReplace(Object...values) {
888      super.beanFiltersReplace(values);
889      return this;
890   }
891
892   @Override /* BeanContextBuilder */
893   public RdfParserBuilder beanFiltersRemove(Class<?>...values) {
894      super.beanFiltersRemove(values);
895      return this;
896   }
897
898   @Override /* BeanContextBuilder */
899   public RdfParserBuilder beanFiltersRemove(Object...values) {
900      super.beanFiltersRemove(values);
901      return this;
902   }
903
904   @Override /* BeanContextBuilder */
905   public RdfParserBuilder beanMapPutReturnsOldValue(boolean value) {
906      super.beanMapPutReturnsOldValue(value);
907      return this;
908   }
909
910   @Override /* BeanContextBuilder */
911   public RdfParserBuilder beanMapPutReturnsOldValue() {
912      super.beanMapPutReturnsOldValue();
913      return this;
914   }
915
916   @Override /* BeanContextBuilder */
917   public RdfParserBuilder beanMethodVisibility(Visibility value) {
918      super.beanMethodVisibility(value);
919      return this;
920   }
921
922   @Override /* BeanContextBuilder */
923   public RdfParserBuilder beansRequireDefaultConstructor(boolean value) {
924      super.beansRequireDefaultConstructor(value);
925      return this;
926   }
927
928   @Override /* BeanContextBuilder */
929   public RdfParserBuilder beansRequireDefaultConstructor() {
930      super.beansRequireDefaultConstructor();
931      return this;
932   }
933
934   @Override /* BeanContextBuilder */
935   public RdfParserBuilder beansRequireSerializable(boolean value) {
936      super.beansRequireSerializable(value);
937      return this;
938   }
939
940   @Override /* BeanContextBuilder */
941   public RdfParserBuilder beansRequireSerializable() {
942      super.beansRequireSerializable();
943      return this;
944   }
945
946   @Override /* BeanContextBuilder */
947   public RdfParserBuilder beansRequireSettersForGetters(boolean value) {
948      super.beansRequireSettersForGetters(value);
949      return this;
950   }
951
952   @Override /* BeanContextBuilder */
953   public RdfParserBuilder beansRequireSettersForGetters() {
954      super.beansRequireSettersForGetters();
955      return this;
956   }
957
958   @Override /* BeanContextBuilder */
959   public RdfParserBuilder beansRequireSomeProperties(boolean value) {
960      super.beansRequireSomeProperties(value);
961      return this;
962   }
963
964   @Override /* BeanContextBuilder */
965   public RdfParserBuilder beanTypePropertyName(String value) {
966      super.beanTypePropertyName(value);
967      return this;
968   }
969
970   @Override /* BeanContextBuilder */
971   public RdfParserBuilder bpi(Class<?> beanClass, String value) {
972      super.bpi(beanClass, value);
973      return this;
974   }
975
976   @Override /* BeanContextBuilder */
977   public RdfParserBuilder bpi(Map<String,String> values) {
978      super.bpi(values);
979      return this;
980   }
981
982   @Override /* BeanContextBuilder */
983   public RdfParserBuilder bpi(String beanClassName, String value) {
984      super.bpi(beanClassName, value);
985      return this;
986   }
987
988   @Override /* BeanContextBuilder */
989   public RdfParserBuilder bpx(Class<?> beanClass, String properties) {
990      super.bpx(beanClass, properties);
991      return this;
992   }
993
994   @Override /* BeanContextBuilder */
995   public RdfParserBuilder bpx(Map<String,String> values) {
996      super.bpx(values);
997      return this;
998   }
999
1000   @Override /* BeanContextBuilder */
1001   public RdfParserBuilder bpx(String beanClassName, String value) {
1002      super.bpx(beanClassName, value);
1003      return this;
1004   }
1005
1006   @Override /* BeanContextBuilder */
1007   public RdfParserBuilder bpro(Class<?> beanClass, String value) {
1008      super.bpro(beanClass, value);
1009      return this;
1010   }
1011
1012   @Override /* BeanContextBuilder */
1013   public RdfParserBuilder bpro(Map<String,String> values) {
1014      super.bpro(values);
1015      return this;
1016   }
1017
1018   @Override /* BeanContextBuilder */
1019   public RdfParserBuilder bpro(String beanClassName, String value) {
1020      super.bpro(beanClassName, value);
1021      return this;
1022   }
1023
1024   @Override /* BeanContextBuilder */
1025   public RdfParserBuilder bpwo(Class<?> beanClass, String properties) {
1026      super.bpwo(beanClass, properties);
1027      return this;
1028   }
1029
1030   @Override /* BeanContextBuilder */
1031   public RdfParserBuilder bpwo(Map<String,String> values) {
1032      super.bpwo(values);
1033      return this;
1034   }
1035
1036   @Override /* BeanContextBuilder */
1037   public RdfParserBuilder bpwo(String beanClassName, String value) {
1038      super.bpwo(beanClassName, value);
1039      return this;
1040   }
1041
1042   @Override /* BeanContextBuilder */
1043   public RdfParserBuilder debug() {
1044      super.debug();
1045      return this;
1046   }
1047
1048   @Override /* BeanContextBuilder */
1049   public RdfParserBuilder dictionary(Class<?>...values) {
1050      super.dictionary(values);
1051      return this;
1052   }
1053
1054   @Override /* BeanContextBuilder */
1055   public RdfParserBuilder dictionary(Object...values) {
1056      super.dictionary(values);
1057      return this;
1058   }
1059
1060   @Override /* BeanContextBuilder */
1061   public RdfParserBuilder dictionaryReplace(Class<?>...values) {
1062      super.dictionaryReplace(values);
1063      return this;
1064   }
1065
1066   @Override /* BeanContextBuilder */
1067   public RdfParserBuilder dictionaryReplace(Object...values) {
1068      super.dictionaryReplace(values);
1069      return this;
1070   }
1071
1072   @Override /* BeanContextBuilder */
1073   public RdfParserBuilder dictionaryRemove(Class<?>...values) {
1074      super.dictionaryRemove(values);
1075      return this;
1076   }
1077
1078   @Override /* BeanContextBuilder */
1079   public RdfParserBuilder dictionaryRemove(Object...values) {
1080      super.dictionaryRemove(values);
1081      return this;
1082   }
1083
1084   @Override /* BeanContextBuilder */
1085   public <T> RdfParserBuilder example(Class<T> c, T o) {
1086      super.example(c, o);
1087      return this;
1088   }
1089
1090   @Override /* BeanContextBuilder */
1091   public <T> RdfParserBuilder exampleJson(Class<T> c, String value) {
1092      super.exampleJson(c, value);
1093      return this;
1094   }
1095
1096   @Override /* BeanContextBuilder */
1097   public RdfParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
1098      super.ignoreInvocationExceptionsOnGetters(value);
1099      return this;
1100   }
1101
1102   @Override /* BeanContextBuilder */
1103   public RdfParserBuilder ignoreInvocationExceptionsOnGetters() {
1104      super.ignoreInvocationExceptionsOnGetters();
1105      return this;
1106   }
1107
1108   @Override /* BeanContextBuilder */
1109   public RdfParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
1110      super.ignoreInvocationExceptionsOnSetters(value);
1111      return this;
1112   }
1113
1114   @Override /* BeanContextBuilder */
1115   public RdfParserBuilder ignoreInvocationExceptionsOnSetters() {
1116      super.ignoreInvocationExceptionsOnSetters();
1117      return this;
1118   }
1119
1120   @Override /* BeanContextBuilder */
1121   public RdfParserBuilder ignorePropertiesWithoutSetters(boolean value) {
1122      super.ignorePropertiesWithoutSetters(value);
1123      return this;
1124   }
1125
1126   @Override /* BeanContextBuilder */
1127   public RdfParserBuilder ignoreUnknownBeanProperties(boolean value) {
1128      super.ignoreUnknownBeanProperties(value);
1129      return this;
1130   }
1131
1132   @Override /* BeanContextBuilder */
1133   public RdfParserBuilder ignoreUnknownBeanProperties() {
1134      super.ignoreUnknownBeanProperties();
1135      return this;
1136   }
1137
1138   @Override /* BeanContextBuilder */
1139   public RdfParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
1140      super.ignoreUnknownNullBeanProperties(value);
1141      return this;
1142   }
1143
1144   @Override /* BeanContextBuilder */
1145   public RdfParserBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
1146      super.implClass(interfaceClass, implClass);
1147      return this;
1148   }
1149
1150   @Override /* BeanContextBuilder */
1151   public RdfParserBuilder implClasses(Map<String,Class<?>> values) {
1152      super.implClasses(values);
1153      return this;
1154   }
1155
1156   @Override /* BeanContextBuilder */
1157   public RdfParserBuilder locale(Locale value) {
1158      super.locale(value);
1159      return this;
1160   }
1161
1162   @Override /* BeanContextBuilder */
1163   public RdfParserBuilder mediaType(MediaType value) {
1164      super.mediaType(value);
1165      return this;
1166   }
1167
1168   @Override /* BeanContextBuilder */
1169   public RdfParserBuilder notBeanClasses(Class<?>...values) {
1170      super.notBeanClasses(values);
1171      return this;
1172   }
1173
1174   @Override /* BeanContextBuilder */
1175   public RdfParserBuilder notBeanClasses(Object...values) {
1176      super.notBeanClasses(values);
1177      return this;
1178   }
1179
1180   @Override /* BeanContextBuilder */
1181   public RdfParserBuilder notBeanClassesReplace(Class<?>...values) {
1182      super.notBeanClassesReplace(values);
1183      return this;
1184   }
1185
1186   @Override /* BeanContextBuilder */
1187   public RdfParserBuilder notBeanClassesReplace(Object...values) {
1188      super.notBeanClassesReplace(values);
1189      return this;
1190   }
1191
1192   @Override /* BeanContextBuilder */
1193   public RdfParserBuilder notBeanClassesRemove(Class<?>...values) {
1194      super.notBeanClassesRemove(values);
1195      return this;
1196   }
1197
1198   @Override /* BeanContextBuilder */
1199   public RdfParserBuilder notBeanClassesRemove(Object...values) {
1200      super.notBeanClassesRemove(values);
1201      return this;
1202   }
1203
1204   @Override /* BeanContextBuilder */
1205   public RdfParserBuilder notBeanPackages(Object...values) {
1206      super.notBeanPackages(values);
1207      return this;
1208   }
1209
1210   @Override /* BeanContextBuilder */
1211   public RdfParserBuilder notBeanPackages(String...values) {
1212      super.notBeanPackages(values);
1213      return this;
1214   }
1215
1216   @Override /* BeanContextBuilder */
1217   public RdfParserBuilder notBeanPackagesReplace(String...values) {
1218      super.notBeanPackagesReplace(values);
1219      return this;
1220   }
1221
1222   @Override /* BeanContextBuilder */
1223   public RdfParserBuilder notBeanPackagesReplace(Object...values) {
1224      super.notBeanPackagesReplace(values);
1225      return this;
1226   }
1227
1228   @Override /* BeanContextBuilder */
1229   public RdfParserBuilder notBeanPackagesRemove(String...values) {
1230      super.notBeanPackagesRemove(values);
1231      return this;
1232   }
1233
1234   @Override /* BeanContextBuilder */
1235   public RdfParserBuilder notBeanPackagesRemove(Object...values) {
1236      super.notBeanPackagesRemove(values);
1237      return this;
1238   }
1239
1240   @Override /* BeanContextBuilder */
1241   public RdfParserBuilder pojoSwaps(Class<?>...values) {
1242      super.pojoSwaps(values);
1243      return this;
1244   }
1245
1246   @Override /* BeanContextBuilder */
1247   public RdfParserBuilder pojoSwaps(Object...values) {
1248      super.pojoSwaps(values);
1249      return this;
1250   }
1251
1252   @Override /* BeanContextBuilder */
1253   public RdfParserBuilder pojoSwapsReplace(Class<?>...values) {
1254      super.pojoSwapsReplace(values);
1255      return this;
1256   }
1257
1258   @Override /* BeanContextBuilder */
1259   public RdfParserBuilder pojoSwapsReplace(Object...values) {
1260      super.pojoSwapsReplace(values);
1261      return this;
1262   }
1263
1264   @Override /* BeanContextBuilder */
1265   public RdfParserBuilder pojoSwapsRemove(Class<?>...values) {
1266      super.pojoSwapsRemove(values);
1267      return this;
1268   }
1269
1270   @Override /* BeanContextBuilder */
1271   public RdfParserBuilder pojoSwapsRemove(Object...values) {
1272      super.pojoSwapsRemove(values);
1273      return this;
1274   }
1275
1276   @Override /* BeanContextBuilder */
1277   public RdfParserBuilder sortProperties(boolean value) {
1278      super.sortProperties(value);
1279      return this;
1280   }
1281
1282   @Override /* BeanContextBuilder */
1283   public RdfParserBuilder sortProperties() {
1284      super.sortProperties();
1285      return this;
1286   }
1287
1288   @Override /* BeanContextBuilder */
1289   public RdfParserBuilder timeZone(TimeZone value) {
1290      super.timeZone(value);
1291      return this;
1292   }
1293
1294   @Override /* BeanContextBuilder */
1295   public RdfParserBuilder useEnumNames(boolean value) {
1296      super.useEnumNames(value);
1297      return this;
1298   }
1299
1300   @Override /* BeanContextBuilder */
1301   public RdfParserBuilder useEnumNames() {
1302      super.useEnumNames();
1303      return this;
1304   }
1305
1306   @Override /* BeanContextBuilder */
1307   public RdfParserBuilder useInterfaceProxies(boolean value) {
1308      super.useInterfaceProxies(value);
1309      return this;
1310   }
1311
1312   @Override /* BeanContextBuilder */
1313   public RdfParserBuilder useJavaBeanIntrospector(boolean value) {
1314      super.useJavaBeanIntrospector(value);
1315      return this;
1316   }
1317
1318   @Override /* BeanContextBuilder */
1319   public RdfParserBuilder useJavaBeanIntrospector() {
1320      super.useJavaBeanIntrospector();
1321      return this;
1322   }
1323
1324   @Override /* ContextBuilder */
1325   public RdfParserBuilder annotations(Annotation...values) {
1326      super.annotations(values);
1327      return this;
1328   }
1329
1330   @Override /* ContextBuilder */
1331   public RdfParserBuilder set(String name, Object value) {
1332      super.set(name, value);
1333      return this;
1334   }
1335
1336   @Override /* ContextBuilder */
1337   public RdfParserBuilder set(Map<String,Object> properties) {
1338      super.set(properties);
1339      return this;
1340   }
1341
1342   @Override /* ContextBuilder */
1343   public RdfParserBuilder add(Map<String,Object> properties) {
1344      super.add(properties);
1345      return this;
1346   }
1347
1348   @Override /* ContextBuilder */
1349   public RdfParserBuilder addTo(String name, Object value) {
1350      super.addTo(name, value);
1351      return this;
1352   }
1353
1354   @Override /* ContextBuilder */
1355   public RdfParserBuilder addTo(String name, String key, Object value) {
1356      super.addTo(name, key, value);
1357      return this;
1358   }
1359
1360   @Override /* ContextBuilder */
1361   public RdfParserBuilder removeFrom(String name, Object value) {
1362      super.removeFrom(name, value);
1363      return this;
1364   }
1365
1366   @Override /* ContextBuilder */
1367   public RdfParserBuilder apply(PropertyStore copyFrom) {
1368      super.apply(copyFrom);
1369      return this;
1370   }
1371
1372   @Override /* ContextBuilder */
1373   public RdfParserBuilder applyAnnotations(AnnotationList al, VarResolverSession vrs) {
1374      super.applyAnnotations(al, vrs);
1375      return this;
1376   }
1377
1378   @Override /* ContextBuilder */
1379   public RdfParserBuilder applyAnnotations(Class<?>...fromClasses) {
1380      super.applyAnnotations(fromClasses);
1381      return this;
1382   }
1383
1384   @Override /* ContextBuilder */
1385   public RdfParserBuilder applyAnnotations(Method...fromMethods) {
1386      super.applyAnnotations(fromMethods);
1387      return this;
1388   }
1389}