blob: 78ae5d6a20d872e5cef547517abb3f7a43cb0e03 [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.impl;
import com.adobe.xmp.XMPConst;
import com.adobe.xmp.XMPError;
import com.adobe.xmp.XMPException;
import com.adobe.xmp.XMPMeta;
/**
* @since 11.08.2006
*/
class ParameterAsserts implements XMPConst
{
/**
* private constructor
*/
private ParameterAsserts()
{
// EMPTY
}
/**
* Asserts that an array name is set.
* @param arrayName an array name
* @throws XMPException Array name is null or empty
*/
public static void assertArrayName(String arrayName) throws XMPException
{
if (arrayName == null || arrayName.length() == 0)
{
throw new XMPException("Empty array name", XMPError.BADPARAM);
}
}
/**
* Asserts that a property name is set.
* @param propName a property name or path
* @throws XMPException Property name is null or empty
*/
public static void assertPropName(String propName) throws XMPException
{
if (propName == null || propName.length() == 0)
{
throw new XMPException("Empty property name", XMPError.BADPARAM);
}
}
/**
* Asserts that a schema namespace is set.
* @param schemaNS a schema namespace
* @throws XMPException Schema is null or empty
*/
public static void assertSchemaNS(String schemaNS) throws XMPException
{
if (schemaNS == null || schemaNS.length() == 0)
{
throw new XMPException("Empty schema namespace URI", XMPError.BADPARAM);
}
}
/**
* Asserts that a prefix is set.
* @param prefix a prefix
* @throws XMPException Prefix is null or empty
*/
public static void assertPrefix(String prefix) throws XMPException
{
if (prefix == null || prefix.length() == 0)
{
throw new XMPException("Empty prefix", XMPError.BADPARAM);
}
}
/**
* Asserts that a specific language is set.
* @param specificLang a specific lang
* @throws XMPException Specific language is null or empty
*/
public static void assertSpecificLang(String specificLang) throws XMPException
{
if (specificLang == null || specificLang.length() == 0)
{
throw new XMPException("Empty specific language", XMPError.BADPARAM);
}
}
/**
* Asserts that a struct name is set.
* @param structName a struct name
* @throws XMPException Struct name is null or empty
*/
public static void assertStructName(String structName) throws XMPException
{
if (structName == null || structName.length() == 0)
{
throw new XMPException("Empty array name", XMPError.BADPARAM);
}
}
/**
* Asserts that any string parameter is set.
* @param param any string parameter
* @throws XMPException Thrown if the parameter is null or has length 0.
*/
public static void assertNotNull(Object param) throws XMPException
{
if (param == null)
{
throw new XMPException("Parameter must not be null", XMPError.BADPARAM);
}
else if ((param instanceof String) && ((String) param).length() == 0)
{
throw new XMPException("Parameter must not be null or empty", XMPError.BADPARAM);
}
}
/**
* Asserts that the xmp object is of this implemention
* ({@link XMPMetaImpl}).
* @param xmp the XMP object
* @throws XMPException A wrong implentaion is used.
*/
public static void assertImplementation(XMPMeta xmp) throws XMPException
{
if (xmp == null)
{
throw new XMPException("Parameter must not be null",
XMPError.BADPARAM);
}
else if (!(xmp instanceof XMPMetaImpl))
{
throw new XMPException("The XMPMeta-object is not compatible with this implementation",
XMPError.BADPARAM);
}
}
}