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  }