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   *
25   * This class encapsulates commonly supported settings for {@link TripleWriter} implementations.
26   *
27   * @author Hans Brende (hansbrende@apache.org)
28   */
29  public class WriterSettings {
30      private WriterSettings() {
31          throw new AssertionError();
32      }
33  
34      // Keep identifiers short & sweet for ease of user's CLI usage!
35      // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36      // (Since each WriterFactory must maintain its own pool of "supported settings",
37      //  we don't need to worry about identifiers being globally unique.
38      //  A single identifier could theoretically map to different keys--and
39      //  therefore to different semantics--under different WriterFactory instances.
40      //  Note that it is the *memory-based identity of the key*, not the
41      //  key's textual identifier, that denotes the semantics for a given setting.
42      //  However, since each Settings object is guaranteed to contain only one setting
43      //  per identifier, we can be assured that identifiers will be unique on a
44      //  per-WriterFactory basis.)
45  
46      /**
47       * Directive to writer that output should be printed in a way to maximize human readability.
48       */
49      public static final Setting<Boolean> PRETTY_PRINT = Setting.create("pretty", Boolean.TRUE);
50  
51      /**
52       * Directive to writer that at least the non-ASCII characters should be escaped.
53       */
54      public static final Setting<Boolean> PRINT_ASCII = Setting.create("ascii", Boolean.FALSE);
55  
56  
57  }