View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *  http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.any23.writer;
19  
20  import org.apache.any23.configuration.Setting;
21  
22  /**
23   *
24   * This class encapsulates commonly supported settings for {@link TripleWriter} implementations.
25   *
26   * @author Hans Brende (hansbrende@apache.org)
27   */
28  public class WriterSettings {
29      private WriterSettings() {
30          throw new AssertionError();
31      }
32  
33      // Keep identifiers short & sweet for ease of user's CLI usage!
34      // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35      // (Since each WriterFactory must maintain its own pool of "supported settings",
36      // we don't need to worry about identifiers being globally unique.
37      // A single identifier could theoretically map to different keys--and
38      // therefore to different semantics--under different WriterFactory instances.
39      // Note that it is the *memory-based identity of the key*, not the
40      // key's textual identifier, that denotes the semantics for a given setting.
41      // However, since each Settings object is guaranteed to contain only one setting
42      // per identifier, we can be assured that identifiers will be unique on a
43      // per-WriterFactory basis.)
44  
45      /**
46       * Directive to writer that output should be printed in a way to maximize human readability.
47       */
48      public static final Setting<Boolean> PRETTY_PRINT = Setting.create("pretty", Boolean.TRUE);
49  
50      /**
51       * Directive to writer that at least the non-ASCII characters should be escaped.
52       */
53      public static final Setting<Boolean> PRINT_ASCII = Setting.create("ascii", Boolean.FALSE);
54  
55  }