literalarrayvector.java.svn-base

来自「it is a tools for developing J2ME applic」· SVN-BASE 代码 · 共 50 行

SVN-BASE
50
字号
package org.ksoap2.samples.soccer;

import java.util.*;

import org.ksoap2.serialization.*;

public abstract class LiteralArrayVector extends Vector implements KvmSerializable {

    public void register(SoapSerializationEnvelope envelope, String namespace, String name) {
        // using this.getClass() everywhere because .class doesn't 
        // exist on j2me
        envelope.addMapping(namespace, name, this.getClass());
        registerElementClass(envelope, namespace);
    }

    private void registerElementClass(SoapSerializationEnvelope envelope, String namespace) {
        final Class elementClass = getElementClass();
        try {
            if (elementClass.newInstance() instanceof KvmSerializable)
                envelope.addMapping(namespace, "", elementClass);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void getPropertyInfo(int index, Hashtable properties, PropertyInfo info) {
        info.name = getItemDescriptor();
        info.type = getElementClass();
    }

    public Object getProperty(int index) {
        return this;
    }

    public int getPropertyCount() {
        return 1;
    }

    public void setProperty(int index, Object value) {
        addElement(value);
    }

    abstract protected Class getElementClass();

    protected String getItemDescriptor() {
        return "item";
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?