Java/J2ME/System Properties
Shows the values of the system properties
<source lang="java">
/*
* @(#)MIDletProps.java 1.0 00/07/18 * Copyright (c) 1999,2000 Sun Microsystems, Inc. All Rights Reserved. * * This software is the confidential and proprietary information of Sun * Microsystems, Inc. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING * THIS SOFTWARE OR ITS DERIVATIVES. */
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /**
* A MIDlet shows the values of the system properties. */
public class MIDletProps extends MIDlet implements CommandListener {
private Display display; // The display for this MIDlet private Form props; private StringBuffer propbuf; private Command exitCommand = new Command("Exit", Command.SCREEN, 1);
/** * Construct MIDletProps */ public MIDletProps() { display = Display.getDisplay(this); } /** * Show the value of the properties */ public void startApp() { Runtime runtime = Runtime.getRuntime(); runtime.gc(); long free = runtime.freeMemory(); long total = runtime.totalMemory(); propbuf = new StringBuffer( 50 ); props = new Form( "System Properties" ); props.append( "Free Memory = " + free + "\n" ); props.append( "Total Memory = " + total + "\n" ); props.append( showProp( "microedition.configuration" ) ); props.append( showProp( "microedition.platform" ) ); props.append( showProp( "microedition.locale" ) ); props.append( showProp( "microedition.encoding" ) ); props.append( showProp( "microedition.encodingClass" ) ); props.append( showProp( "microedition.http_proxy" ) ); props.addCommand( exitCommand ); props.setCommandListener( this ); display.setCurrent( props ); } /** * Eventhandling code goes into commandAction */ public void commandAction( Command c, Displayable s ) { if ( c == exitCommand ) { destroyApp( false ); notifyDestroyed(); } }
/** * Show a property. */ String showProp( String prop ) { String value = System.getProperty( prop ); propbuf.setLength( 0 ); propbuf.append( prop ); propbuf.append( " = " ); if (value == null) { propbuf.append( "<undefined>" ); } else { propbuf.append( "\"" ); propbuf.append( value ); propbuf.append( "\"" ); } propbuf.append( "\n" ); return propbuf.toString(); }
/** * Time to pause, free any space we don"t need right now. */ public void pauseApp() { display.setCurrent( null ); propbuf = null; props = null; } /** * No op */ public void destroyApp( boolean unconditional ) { System.out.println( "In destroyApp" ); }
}
</source>