blob: c05f871e02fe2fb0e453b6335b7e26c3d459a0f6 [file] [log] [blame]
// =================================================================================================
// 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;
}
}