javauis/lcdui_qt/src/javax/microedition/lcdui/JadAttributeUtil.java
changeset 21 2a9601315dfc
child 23 98ccebc37403
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_qt/src/javax/microedition/lcdui/JadAttributeUtil.java	Mon May 03 12:27:20 2010 +0300
@@ -0,0 +1,151 @@
+/*
+* 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);
+	}
+
+
+}