// This file is autogenerated: please see the codegen template "Options"
namespace pdftron{ namespace PDF{ namespace PDFA{ 

inline PDFAOptions::PDFAOptions(PDFACompliance::Conformance level)
	: OptionsBase()
{
	SetConformance(level);
}

inline PDFAOptions::~PDFAOptions()
{
}


inline PDFACompliance::Conformance PDFAOptions::GetConformance()
{
	SDF::Obj found = m_dict.FindObj("Conformance");
	if(found.IsValid())
	{
		return (PDFACompliance::Conformance)(int)(found.GetNumber());
	}
	return (PDFACompliance::Conformance)(int)(PDFACompliance::e_Level1B);
}

inline PDFAOptions& PDFAOptions::SetConformance(PDFACompliance::Conformance value)
{
	PDF::OptionsBase::PutNumber(m_dict, "Conformance", (value));
	return *this;
}


inline UInt32 PDFAOptions::GetDPI()
{
	SDF::Obj found = m_dict.FindObj("Dpi");
	if(found.IsValid())
	{
		return (UInt32)(found.GetNumber());
	}
	return (UInt32)(300);
}

inline PDFAOptions& PDFAOptions::SetDPI(UInt32 value)
{
	PDF::OptionsBase::PutNumber(m_dict, "Dpi", (value));
	return *this;
}


inline bool PDFAOptions::GetFirstStop()
{
	SDF::Obj found = m_dict.FindObj("FirstStop");
	if(found.IsValid())
	{
		return (found.GetBool());
	}
	return (false);
}

inline PDFAOptions& PDFAOptions::SetFirstStop(bool value)
{
	PDF::OptionsBase::PutBool(m_dict, "FirstStop", (value));
	return *this;
}


inline bool PDFAOptions::GetFlattenTransparency()
{
	SDF::Obj found = m_dict.FindObj("Flatten");
	if(found.IsValid())
	{
		return (found.GetBool());
	}
	return (false);
}

inline PDFAOptions& PDFAOptions::SetFlattenTransparency(bool value)
{
	PDF::OptionsBase::PutBool(m_dict, "Flatten", (value));
	return *this;
}


inline UInt32 PDFAOptions::GetMaxRefObjs()
{
	SDF::Obj found = m_dict.FindObj("MaxRefObjs");
	if(found.IsValid())
	{
		return (UInt32)(found.GetNumber());
	}
	return (UInt32)(10);
}

inline PDFAOptions& PDFAOptions::SetMaxRefObjs(UInt32 value)
{
	PDF::OptionsBase::PutNumber(m_dict, "MaxRefObjs", (value));
	return *this;
}


inline UString PDFAOptions::GetPassword()
{
	SDF::Obj found = m_dict.FindObj("Password");
	if(found.IsValid())
	{
		return (found.GetAsPDFText());
	}
	return ("");
}

inline PDFAOptions& PDFAOptions::SetPassword(const UString& value)
{
	PDF::OptionsBase::PutText(m_dict, "Password", (value));
	return *this;
}


}
}
}
