| // ================================================================================================= |
| // ADOBE SYSTEMS INCORPORATED |
| // Copyright 2006 Adobe Systems Incorporated |
| // All Rights Reserved |
| // |
| // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms |
| // of the Adobe license agreement accompanying it. |
| // ================================================================================================= |
| |
| package com.adobe.xmp.options; |
| |
| import java.io.InputStream; |
| |
| import com.adobe.xmp.XMPMetaFactory; |
| |
| |
| /** |
| * Options for {@link XMPMetaFactory#parse(InputStream, ParseOptions)}. |
| * |
| * @since 24.01.2006 |
| */ |
| public final class ParseOptions extends Options |
| { |
| /** Require a surrounding "x:xmpmeta" element in the xml-document. */ |
| public static final int REQUIRE_XMP_META = 0x0001; |
| /** Do not reconcile alias differences, throw an exception instead. */ |
| public static final int STRICT_ALIASING = 0x0004; |
| /** Convert ASCII control characters 0x01 - 0x1F (except tab, cr, and lf) to spaces. */ |
| public static final int FIX_CONTROL_CHARS = 0x0008; |
| /** If the input is not unicode, try to parse it as ISO-8859-1. */ |
| public static final int ACCEPT_LATIN_1 = 0x0010; |
| /** Do not carry run the XMPNormalizer on a packet, leave it as it is. */ |
| public static final int OMIT_NORMALIZATION = 0x0020; |
| |
| |
| /** |
| * Sets the options to the default values. |
| */ |
| public ParseOptions() |
| { |
| setOption(FIX_CONTROL_CHARS | ACCEPT_LATIN_1, true); |
| } |
| |
| |
| /** |
| * @return Returns the requireXMPMeta. |
| */ |
| public boolean getRequireXMPMeta() |
| { |
| return getOption(REQUIRE_XMP_META); |
| } |
| |
| |
| /** |
| * @param value the value to set |
| * @return Returns the instance to call more set-methods. |
| */ |
| public ParseOptions setRequireXMPMeta(boolean value) |
| { |
| setOption(REQUIRE_XMP_META, value); |
| return this; |
| } |
| |
| |
| /** |
| * @return Returns the strictAliasing. |
| */ |
| public boolean getStrictAliasing() |
| { |
| return getOption(STRICT_ALIASING); |
| } |
| |
| |
| /** |
| * @param value the value to set |
| * @return Returns the instance to call more set-methods. |
| */ |
| public ParseOptions setStrictAliasing(boolean value) |
| { |
| setOption(STRICT_ALIASING, value); |
| return this; |
| } |
| |
| |
| /** |
| * @return Returns the strictAliasing. |
| */ |
| public boolean getFixControlChars() |
| { |
| return getOption(FIX_CONTROL_CHARS); |
| } |
| |
| |
| /** |
| * @param value the value to set |
| * @return Returns the instance to call more set-methods. |
| */ |
| public ParseOptions setFixControlChars(boolean value) |
| { |
| setOption(FIX_CONTROL_CHARS, value); |
| return this; |
| } |
| |
| |
| /** |
| * @return Returns the strictAliasing. |
| */ |
| public boolean getAcceptLatin1() |
| { |
| return getOption(ACCEPT_LATIN_1); |
| } |
| |
| |
| /** |
| * @param value the value to set |
| * @return Returns the instance to call more set-methods. |
| */ |
| public ParseOptions setOmitNormalization(boolean value) |
| { |
| setOption(OMIT_NORMALIZATION, value); |
| return this; |
| } |
| |
| |
| /** |
| * @return Returns the option "omit normalization". |
| */ |
| public boolean getOmitNormalization() |
| { |
| return getOption(OMIT_NORMALIZATION); |
| } |
| |
| |
| /** |
| * @param value the value to set |
| * @return Returns the instance to call more set-methods. |
| */ |
| public ParseOptions setAcceptLatin1(boolean value) |
| { |
| setOption(ACCEPT_LATIN_1, value); |
| return this; |
| } |
| |
| |
| /** |
| * @see Options#defineOptionName(int) |
| */ |
| protected String defineOptionName(int option) |
| { |
| switch (option) |
| { |
| case REQUIRE_XMP_META : return "REQUIRE_XMP_META"; |
| case STRICT_ALIASING : return "STRICT_ALIASING"; |
| case FIX_CONTROL_CHARS: return "FIX_CONTROL_CHARS"; |
| case ACCEPT_LATIN_1: return "ACCEPT_LATIN_1"; |
| case OMIT_NORMALIZATION: return "OMIT_NORMALIZATION"; |
| default: return null; |
| } |
| } |
| |
| |
| /** |
| * @see Options#getValidOptions() |
| */ |
| protected int getValidOptions() |
| { |
| return |
| REQUIRE_XMP_META | |
| STRICT_ALIASING | |
| FIX_CONTROL_CHARS | |
| ACCEPT_LATIN_1 | |
| OMIT_NORMALIZATION; |
| } |
| } |