| // ================================================================================================= |
| // 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); |
| } |
| } |
| } |