Android Open Source - Cardeto Static Vars Module






From Project

Back to project page Cardeto.

License

The source code is released under:

Apache License

If you think the Android project Cardeto listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.ggt.cardeto.embeddedwebserver.staticvarsmodule;
/*from w  w w  . ja v  a  2s  .  c o  m*/
import android.content.Context;

import com.ggt.cardeto.R;
import com.ggt.cardeto.embeddedwebserver.CardetoWebServerModule;
import com.ggt.cardeto.utils.CardetoConstants;

import java.lang.reflect.Field;
import java.util.Properties;

/**
 * This module shows static vars of a class at runtime.
 *
 * @author guiguito
 */
public class StaticVarsModule implements CardetoWebServerModule {

    private Context mContext;

    private static final String STATICVARS_MODULE_TAG = "staticvars";
    private static final String STATICVARS_VALUE_PARAM = "staticvarsvalue";

    public StaticVarsModule(Context context) {
        mContext = context;
    }

    @Override
    public String getModuleTitle() {
        return mContext.getString(R.string.staticvars_module_title);
    }

    @Override
    public String getDescription() {
        return mContext.getString(R.string.staticvars_module_description);
    }

    @Override
    public String getUrl() {
        return "./" + STATICVARS_MODULE_TAG;
    }

    @Override
    public boolean matchURI(String uri) {
        if (uri != null && uri.startsWith("/" + STATICVARS_MODULE_TAG))
            return true;
        else
            return false;
    }

    @Override
    public StringBuilder handleRequest(String uri, String method,
                                       Properties header, Properties params, Properties files) {
        StringBuilder result = new StringBuilder();
        result.append(mContext.getString(R.string.html_header));
        result.append(CardetoConstants.HTML_RETURN + "\n");
        result.append(CardetoConstants.HTML_RETURN + "\n");
        result.append("<a href=\"/\">"
                + mContext.getString(R.string.back_to_modules_list) + "</a>"
                + CardetoConstants.HTML_RETURN + "\n");
        result.append(CardetoConstants.HTML_RETURN + "\n");
        // check if there is a data for the class to check as an input
        if (params.containsKey(STATICVARS_VALUE_PARAM)) {
            String className = params.getProperty(STATICVARS_VALUE_PARAM);
            result.append(CardetoConstants.HTML_RETURN + "\n");
            result.append("<B>" + className + "</B>" + "\n");
            result.append(CardetoConstants.HTML_RETURN + "\n");
            result.append(CardetoConstants.HTML_RETURN + "\n");
            try {
                Class<?> classObj = Class.forName(className);
                Field[] fields = classObj.getFields();
                for (Field field : fields) {
                    String fieldName = field.getName();
                    try {
                        Object fieldValue = field.get(null);
                        result.append("<B>" + fieldName + "</B> : "
                                + fieldValue.toString());
                        result.append(CardetoConstants.HTML_RETURN + "\n");
                    } catch (IllegalArgumentException e) {
                    } catch (IllegalAccessException e) {
                    }
                }
            } catch (ClassNotFoundException e) {
                result.append(mContext.getString(R.string.class_not_found));
                result.append(CardetoConstants.HTML_RETURN + "\n");
            }

            result.append(CardetoConstants.HTML_RETURN + "\n");
        }
        result.append("<form enctype=\"text/plain\" method=\"get\" action=\"/"
                + STATICVARS_MODULE_TAG + "\">");
        result.append("<textarea cols=\"150\" rows=\"3\" name=\""
                + STATICVARS_VALUE_PARAM + "\">"
                + mContext.getString(R.string.full_classname_with_class_path)
                + "</textarea>");
        result.append(CardetoConstants.HTML_RETURN + "\n");
        result.append("<input type=\"submit\" value=\""
                + mContext.getString(R.string.send) + "\">");
        result.append(CardetoConstants.HTML_RETURN + "\n");
        result.append("</form>");
        result.append(CardetoConstants.HTML_RETURN + "\n");
        result.append("</form>");
        result.append(mContext.getString(R.string.html_footer));
        return result;
    }
}




Java Source Code List

com.ggt.cardeto.CardetoService.java
com.ggt.cardeto.embeddedwebserver.CardetoWebServerModule.java
com.ggt.cardeto.embeddedwebserver.CardetoWebServer.java
com.ggt.cardeto.embeddedwebserver.appinfomodule.AppInfoModule.java
com.ggt.cardeto.embeddedwebserver.clipboardmodule.ClipboardModule.java
com.ggt.cardeto.embeddedwebserver.logcatmodule.LogcatModule.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.GenericSQLiteDatabaseHelper.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.SQLiteModule.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.tableouputrenderers.CSVRenderer.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.tableouputrenderers.HtmlRenderer.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.tableouputrenderers.JsonRenderer.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.tableouputrenderers.TableOutputRenderer.java
com.ggt.cardeto.embeddedwebserver.sqlitemodule.tableouputrenderers.XmlRenderer.java
com.ggt.cardeto.embeddedwebserver.staticvarsmodule.StaticVarsModule.java
com.ggt.cardeto.externallib.NanoHTTPD.java
com.ggt.cardeto.utils.CardetoConstants.java
com.ggt.cardeto.utils.NetworkUtilsOld.java
com.ggt.cardeto.utils.NetworkUtils.java
com.ggt.cardetosample.TestActivity.java
com.ggt.cardetosample.database.CardetoSampleDatabaseDataSource.java
com.ggt.cardetosample.database.CardetoSampleDatabaseHelper.java
com.ggt.cardetosample.database.Log.java