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

📄 message.java

📁 android_UPNP_DLNA_控制点
💻 JAVA
字号:
/* * Copyright (C) 2010 Teleal GmbH, Switzerland * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program.  If not, see <http://www.gnu.org/licenses/>. */package org.teleal.cling.support.messagebox.model;import org.teleal.cling.support.messagebox.parser.MessageDOM;import org.teleal.cling.support.messagebox.parser.MessageDOMParser;import org.teleal.cling.support.messagebox.parser.MessageElement;import org.teleal.common.xml.ParserException;import java.util.Random;/** * https://sourceforge.net/apps/mediawiki/samygo/index.php?title=MessageBoxService_request_format *  * @author Christian Bauer */public abstract class Message implements ElementAppender {    final protected Random randomGenerator = new Random();    public enum Category {        SMS("SMS"),        INCOMING_CALL("Incoming Call"),        SCHEDULE_REMINDER("Schedule Reminder");        public String text;        Category(String text) {            this.text = text;        }    }    public enum DisplayType {        MINIMUM("Minimum"),        MAXIMUM("Maximum");        public String text;        DisplayType(String text) {            this.text = text;        }    }    private final int id;    private final Category category;    private DisplayType displayType;    public Message(Category category, DisplayType displayType) {        this(0, category, displayType);    }    public Message(int id, Category category, DisplayType displayType) {        if (id == 0) id = randomGenerator.nextInt(Integer.MAX_VALUE);        this.id = id;        this.category = category;        this.displayType = displayType;    }    public int getId() {        return id;    }    public Category getCategory() {        return category;    }    public DisplayType getDisplayType() {        return displayType;    }    @Override    public boolean equals(Object o) {        if (this == o) return true;        if (o == null || getClass() != o.getClass()) return false;        Message message = (Message) o;        if (id != message.id) return false;        return true;    }    @Override    public int hashCode() {        return id;    }    @Override    public String toString() {        try {            MessageDOMParser mp = new MessageDOMParser();            MessageDOM dom = mp.createDocument();            MessageElement root = dom.createRoot(mp.createXPath(), "Message");            root.createChild("Category").setContent(getCategory().text);            root.createChild("DisplayType").setContent(getDisplayType().text);            appendMessageElements(root);            String s = mp.print(dom, 0, false);            // Cut the root element, what we send to the TV is not really XML, just            // random element soup which I'm sure the Samsung guys think is XML...            return s.replaceAll("<Message xmlns=\"urn:samsung-com:messagebox-1-0\">", "")                    .replaceAll("</Message>", "");                    } catch (ParserException ex) {            throw new RuntimeException(ex);        }    }}

⌨️ 快捷键说明

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