⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 domoutputcapsule.java

📁 java 3d game jme 工程开发源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                Element el = appendElement(name);        el.setAttribute("size", String.valueOf(value.length));                        for (int i=0; i<value.length; i++) {        	boolean[] array = value[i];        	        	write(array, "array_"+i, defVal==null?null:defVal[i]);        }        currentElement = (Element) el.getParentNode();    }    public void write(String value, String name, String defVal) throws IOException {        if (value == null || value.equals(defVal)) {            return;        }        currentElement.setAttribute(name, encodeString(value));    }    public void write(String[] value, String name, String[] defVal) throws IOException {        Element el = appendElement(name);                if (value == null) {            value = defVal;        }        el.setAttribute("size", String.valueOf(value.length));                for (int i=0; i<value.length; i++) {        	String b = value[i];        	appendElement("String_"+i);            String val = encodeString(b);            currentElement.setAttribute("value", val);            currentElement = el;        }        currentElement = (Element) currentElement.getParentNode();    }    public void write(String[][] value, String name, String[][] defVal) throws IOException {        if (value == null) return;        if(Arrays.deepEquals(value, defVal)) return;                Element el = appendElement(name);        el.setAttribute("size", String.valueOf(value.length));                        for (int i=0; i<value.length; i++) {        	String[] array = value[i];        	        	write(array, "array_"+i, defVal==null?null:defVal[i]);        }        currentElement = (Element) el.getParentNode();    }    public void write(BitSet value, String name, BitSet defVal) throws IOException {        if (value == null || value.equals(defVal)) {            return;        }        StringBuilder buf = new StringBuilder();        for (int i = value.nextSetBit(0); i >= 0; i = value.nextSetBit(i + 1)) {            buf.append(i);            buf.append(" ");        }        buf.setLength(Math.max(0, buf.length() - 1));        currentElement.setAttribute(name, buf.toString());    }    public void write(Savable object, String name, Savable defVal) throws IOException {        if (object == null) {            return;        }        if (object.equals(defVal)) {            return;        }        Element old = currentElement;        Element el = writtenSavables.get(object);                String className = null;        if(!object.getClass().getName().equals(name)){            className = object.getClass().getName();        }        try {            doc.createElement(name);        } catch (DOMException e) {            name = "Object";            className = object.getClass().getName();        }        if (el != null) {            String refID = el.getAttribute("reference_ID");            if (refID.length() == 0) {                refID = object.getClassTag().getName() + "@" + object.hashCode();                el.setAttribute("reference_ID", refID);            }            el = appendElement(name);            el.setAttribute("ref", refID);        } else {            el = appendElement(name);            writtenSavables.put(object, el);            object.write(exporter);        }        if(className != null){            el.setAttribute("class", className);        }        currentElement = old;    }    public void write(Savable[] objects, String name, Savable[] defVal) throws IOException {        if (objects == null) {            return;        }        if (Arrays.equals(objects, defVal)) {            return;        }        Element old = currentElement;        Element el = appendElement(name);        el.setAttribute("size", String.valueOf(objects.length));        for (int i = 0; i < objects.length; i++) {            Savable o = objects[i];            if(o == null){                //renderStateList has special loading code, so we can leave out the null values                if(!name.equals("renderStateList")){                Element before = currentElement;                appendElement("null");                currentElement = before;                }            }else{                write(o, o.getClassTag().getName(), null);            }        }        currentElement = old;    }    public void write(Savable[][] value, String name, Savable[][] defVal) throws IOException {        if (value == null) return;        if(Arrays.deepEquals(value, defVal)) return;                Element el = appendElement(name);        el.setAttribute("size_outer", String.valueOf(value.length));        el.setAttribute("size_inner", String.valueOf(value[0].length));        for (Savable[] bs : value) {            for(Savable b : bs){                write(b, b.getClassTag().getSimpleName(), null);            }        }        currentElement = (Element) currentElement.getParentNode();    }    public void writeSavableArrayList(ArrayList array, String name, ArrayList defVal) throws IOException {        if (array == null) {            return;        }        if (array.equals(defVal)) {            return;        }        Element old = currentElement;        Element el = appendElement(name);        currentElement = el;        el.setAttribute(XMLExporter.ATTRIBUTE_SIZE, String.valueOf(array.size()));        for (Object o : array) {        	if(o == null) {        		continue;        	}        	else if (o instanceof Savable) {                Savable s = (Savable) o;                write(s, s.getClassTag().getName(), null);            } else {                throw new ClassCastException("Not a Savable instance: " + o);            }        }        currentElement = old;    }    public void writeSavableArrayListArray(ArrayList[] objects, String name, ArrayList[] defVal) throws IOException {        if (objects == null) {return;}        if (Arrays.equals(objects, defVal)) {return;}        Element old = currentElement;        Element el = appendElement(name);        el.setAttribute(XMLExporter.ATTRIBUTE_SIZE, String.valueOf(objects.length));        for (int i = 0; i < objects.length; i++) {            ArrayList o = objects[i];            if(o == null){                Element before = currentElement;                appendElement("null");                currentElement = before;            }else{                StringBuilder buf = new StringBuilder("SavableArrayList_");                buf.append(i);                writeSavableArrayList(o, buf.toString(), null);            }        }        currentElement = old;    }    public void writeSavableArrayListArray2D(ArrayList[][] value, String name, ArrayList[][] defVal) throws IOException {        if (value == null) return;        if(Arrays.deepEquals(value, defVal)) return;                Element el = appendElement(name);        int size = value.length;        el.setAttribute(XMLExporter.ATTRIBUTE_SIZE, String.valueOf(size));                for (int i=0; i< size; i++) {            ArrayList[] vi = value[i];            writeSavableArrayListArray(vi, "SavableArrayListArray_"+i, null);        }        currentElement = (Element) el.getParentNode();    }    public void writeFloatBufferArrayList(ArrayList<FloatBuffer> array, String name, ArrayList<FloatBuffer> defVal) throws IOException {        if (array == null) {            return;        }        if (array.equals(defVal)) {            return;        }        Element el = appendElement(name);        el.setAttribute(XMLExporter.ATTRIBUTE_SIZE, String.valueOf(array.size()));        for (FloatBuffer o : array) {            write(o, XMLExporter.ELEMENT_FLOATBUFFER, null);        }        currentElement = (Element) el.getParentNode();    }    public void writeSavableMap(Map<? extends Savable, ? extends Savable> map, String name, Map<? extends Savable, ? extends Savable> defVal) throws IOException {    	if (map == null) {            return;        }        if (map.equals(defVal)) {            return;        }		Element stringMap = appendElement(name);								Iterator<? extends Savable> keyIterator = map.keySet().iterator();		while(keyIterator.hasNext()) {			Savable key = keyIterator.next();			Element mapEntry = appendElement(XMLExporter.ELEMENT_MAPENTRY);				write(key, XMLExporter.ELEMENT_KEY, null);									Savable value = map.get(key);			write(value, XMLExporter.ELEMENT_VALUE, null);			currentElement = stringMap;		}						currentElement = (Element) stringMap.getParentNode();    }    public void writeStringSavableMap(Map<String, ? extends Savable> map, String name, Map<String, ? extends Savable> defVal) throws IOException {        if (map == null) {            return;        }        if (map.equals(defVal)) {            return;        }		Element stringMap = appendElement(name);								Iterator<String> keyIterator = map.keySet().iterator();		while(keyIterator.hasNext()) {			String key = keyIterator.next();			Element mapEntry = appendElement("MapEntry");				mapEntry.setAttribute("key", key);			Savable s = map.get(key);			write(s, "Savable", null);			currentElement = stringMap;		}						currentElement = (Element) stringMap.getParentNode();    }    public void write(FloatBuffer value, String name, FloatBuffer defVal) throws IOException {        if (value == null) {            return;        }        Element el = appendElement(name);        el.setAttribute("size", String.valueOf(value.limit()));        StringBuilder buf = new StringBuilder();        int pos = value.position();        value.rewind();        while (value.hasRemaining()) {            buf.append(value.get());            buf.append(" ");        }        buf.setLength(Math.max(0, buf.length() - 1));        value.position(pos);        el.setAttribute(dataAttributeName, buf.toString());        currentElement = (Element) el.getParentNode();    }    public void write(IntBuffer value, String name, IntBuffer defVal) throws IOException {        if (value == null) {            return;        }        if (value.equals(defVal)) {            return;        }        Element el = appendElement(name);        el.setAttribute("size", String.valueOf(value.limit()));        StringBuilder buf = new StringBuilder();        int pos = value.position();        value.rewind();        while (value.hasRemaining()) {            buf.append(value.get());            buf.append(" ");        }        buf.setLength(buf.length() - 1);        value.position(pos);        el.setAttribute(dataAttributeName, buf.toString());        currentElement = (Element) el.getParentNode();    }    public void write(ByteBuffer value, String name, ByteBuffer defVal) throws IOException {        if (value == null) return;        if (value.equals(defVal)) return;        Element el = appendElement(name);        el.setAttribute("size", String.valueOf(value.limit()));        StringBuilder buf = new StringBuilder();        int pos = value.position();        value.rewind();        while (value.hasRemaining()) {            buf.append(value.get());            buf.append(" ");        }        buf.setLength(buf.length() - 1);        value.position(pos);        el.setAttribute(dataAttributeName, buf.toString());        currentElement = (Element) el.getParentNode();    }    public void write(ShortBuffer value, String name, ShortBuffer defVal) throws IOException {        if (value == null) {            return;        }        if (value.equals(defVal)) {            return;        }        Element el = appendElement(name);        el.setAttribute("size", String.valueOf(value.limit()));        StringBuilder buf = new StringBuilder();        int pos = value.position();        value.rewind();        while (value.hasRemaining()) {            buf.append(value.get());            buf.append(" ");        }        buf.setLength(buf.length() - 1);        value.position(pos);        el.setAttribute(dataAttributeName, buf.toString());        currentElement = (Element) el.getParentNode();    }	public void write(Enum value, String name, Enum defVal) throws IOException {        if (value == defVal) {            return;        }        currentElement.setAttribute(name, String.valueOf(value));			}	public void writeByteBufferArrayList(ArrayList<ByteBuffer> array,			String name, ArrayList<ByteBuffer> defVal) throws IOException {        if (array == null) {            return;        }        if (array.equals(defVal)) {            return;        }        Element el = appendElement(name);        el.setAttribute("size", String.valueOf(array.size()));        for (ByteBuffer o : array) {            write(o, "ByteBuffer", null);        }        currentElement = (Element) el.getParentNode();			}}

⌨️ 快捷键说明

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