javauis/lcdui_qt/src/javax/microedition/lcdui/JadAttributeUtil.java
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:27:20 +0300
changeset 21 2a9601315dfc
child 23 98ccebc37403
permissions -rw-r--r--
Revision: v2.1.22 Kit: 201018

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: 
*
*/
package javax.microedition.lcdui;

import com.nokia.mj.impl.rt.support.ApplicationInfo;

/**
 * Utilities for reading and checking the UI related JAD attributes.
 *
 */
final class JadAttributeUtil {

	// ***** ATTRIBUTE CONSTANTS ******
	/**
	 * jad attribute Nokia-UI-Enhancement
	 */
	final static String ATTRIB_NOKIA_UI_ENHANCEMENT = "Nokia-UI-Enhancement";

	/**
	 * jad attribute Nokia-MIDlet-S60-Selection-Key-Compatibility
	 */
	final static String ATTRIB_NOKIA_MIDLET_S60_SELECTION_KEY_COMPATIBILITY = "Nokia-MIDlet-S60-Selection-Key-Compatibility";
	/**
	 * jad attribute Nokia-MIDlet-No-Exit
	 */
	final static String ATTRIB_NOKIA_MIDLET_NO_EXIT =  "Nokia-MIDlet-No-Exit";

	/**
	 *  jad attribute Nokia-MIDlet-Background-Event
	 */
	final static String ATTRIB_NOKIA_MIDLET_BACKGROUND_EVENT = "Nokia-MIDlet-Background-Event";

	/**
	 * jad attribute Nokia-MIDlet-Tap-Detection-Options
	 */
	final static String ATTRIB_NOKIA_MIDLET_TAP_DETECTION_OPTIONS = "Nokia-MIDlet-Tap-Detection-Options";

	/**
	 * jad attribute Nokia-MIDlet-On-Screen-Keypad
	 */
	final static String ATTRIB_NOKIA_MIDLET_ON_SCREEN_KEYPAD= "Nokia-MIDlet-On-Screen-Keypad";

	/**
	 * jad attribute Nokia-MIDlet-App-Orientation
	 */
	final static String ATTRIB_NOKIA_MIDLET_APP_ORIENTATION = "Nokia-MIDlet-App-Orientation";

	/**
	 * jad attribute Nokia-MIDlet-Flip-Close
	 */
	final static String ATTRIB_NOKIA_MIDLET_FLIP_CLOSE ="Nokia-MIDlet-Flip-Close";

	// ***** VALUE CONSTANTS *****

	/**
	 * value CanvasHasBackground used with Nokia-UI-Enhancement
	 * @see JadAttributeUtil#ATTRIB_NOKIA_UI_ENHANCEMENT
	 */
	final static String VALUE_CANVAS_HAS_BACKGROUND= "CanvasHasBackground";

	/**
	 * value MusicKeysSupported
	 * @see JadAttributeUtil#ATTRIB_NOKIA_UI_ENHANCEMENT
	 */
	final static String VALUE_MUSIC_KEYS_SUPPORTED = "MusicKeysSupported";
	/**
	 * value true
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_S60_SELECTION_KEY_COMPATIBILITY
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_NO_EXIT
	 */
	final static String VALUE_TRUE = "true";
	/**
	 * value pause
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_BACKGROUND_EVENT
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_FLIP_CLOSE
	 */
	final static String VALUE_PAUSE = "pause";

	/**
	 * value no
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_ON_SCREEN_KEYPAD
	 */
	final static String VALUE_NO = "no";

	/**
	 * value gameactions
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_ON_SCREEN_KEYPAD
	 */
	final static String VALUE_GAMEACTIONS ="gameactions";

	/**
	 * value navigationkeys
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_ON_SCREEN_KEYPAD
	 */
	final static String VALUE_NAVIGATIONKEYS = "navigationkeys";

	/**
	 * value portrait
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_APP_ORIENTATION
	 */
	final static String VALUE_PORTRAIT = "portrait";

	/**
	 * value landscape
	 * @see JadAttributeUtil#ATTRIB_NOKIA_MIDLET_APP_ORIENTATION
	 */
	final static String VALUE_LANDSCAPE = "landscape";


	/**
	 * Returns if the given value is set for the given midlet.
	 * Use one of  the ATTRIB_ constants defined on {@link JadAttributeUtil} as
	 * the attribute.
	 *
	 * @param attribute
	 * @param value
	 * @return
	 */
	final static boolean isValue(final String attribute, final String value){
		if ( attribute == null || attribute.length() < 1) return false;
		if ( value == null ) return false;
		return value.equalsIgnoreCase(getValue(attribute));
	}

	/**
	 * Reads the value of the given attribute
	 * Use one of  the ATTRIB_ constants defined on {@link JadAttributeUtil} as
	 * the attribute.
	 * @param attribute
	 * @return
	 */
	final static String getValue( final String attribute){
		return ApplicationInfo.getInstance().getAttribute(attribute);
	}


}