HashMap // TS3 Query

lgund

Mitglied
Hey ;),

bin leider momentan nicht zuhause aber versuche es mal so gut wie möglich zu erklären.

Ich benutze in meinem Java-Programm die Api:
http://www.stefan1200.de/documentation/jts3serverquery/

Dort wollte ich die Funktion:
getPermissionList

verwenden und die gibt mir ja ein:
public Vector<HashMap<String,String>> getPermissionList(int permListMode,
int targetID)
throws TS3ServerQueryException

Get a list of permissions of a server group / channel / client.


Nun zu meiner Frage ;). Woher kriege ich raus was in der HashMap drinne steht ??

(Falls noch fragen sind bitte schreiben :D)

Mfg
lgund
 

InfectedBytes

Top Contributor
entweder steht in der API drin, was es für schlüssel gibt, oder du iterierst über alle Schlüssel und gibst sie einmal aus, damit du weißt was dort drin steht.
 

lgund

Mitglied
Hmm ja aber wie kann ich das ausgeben...

Hier mal ein Beispielcode:

Java:
package de.stefan1200.jts3serverqueryexample;

import java.io.PrintStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Vector;

import de.stefan1200.jts3serverquery.JTS3ServerQuery;
import de.stefan1200.jts3serverquery.TS3ServerQueryException;
import de.stefan1200.jts3serverquery.TeamspeakActionListener;

public class JTS3ServerQueryExample implements TeamspeakActionListener
{
    JTS3ServerQuery query;
    boolean debug = false; // Set to true if you want to see all key / values
   
    public static void main(String[] args)
    throws Exception
    {
        JTS3ServerQueryExample jts3 = new JTS3ServerQueryExample();
       
        jts3.runServerMod();
    }
   
    /*
     * Just output all key / value pairs
     */
    void outputHashMap(HashMap<String, String> hm, PrintStream stream)
    {
        if (hm == null)
        {
            return;
        }
       
        Collection<String> cValue = hm.values();
        Collection<String> cKey = hm.keySet();
        Iterator<String> itrValue = cValue.iterator();
        Iterator<String> itrKey = cKey.iterator();
       
        while (itrValue.hasNext() && itrKey.hasNext())
        {
            stream.println(itrKey.next() + ": " + itrValue.next());
        }
    }
   
    public void teamspeakActionPerformed(String eventType, HashMap<String, String> eventInfo)
    {
        if (debug) System.out.println(eventType + " received");
        if (debug) outputHashMap(eventInfo, System.out);
       
        if (eventType.equals("notifytextmessage"))
        {
            if (eventInfo.get("msg").equalsIgnoreCase("!quitbot")) // Quit this program
            {
                try
                {
                    query.sendTextMessage(Integer.parseInt(eventInfo.get("invokerid")), JTS3ServerQuery.TEXTMESSAGE_TARGET_CLIENT, "Bye Bye, my master!");
                    query.removeTeamspeakActionListener();
                    query.closeTS3Connection();
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
                System.exit(0);
            }
            else if (eventInfo.get("msg").equalsIgnoreCase("!clientlist")) // Client List
            {
                try
                {
                    Vector<HashMap<String, String>> dataClientList = query.getList(JTS3ServerQuery.LISTMODE_CLIENTLIST, "-info,-times");
                    if (dataClientList != null)
                    {
                        StringBuffer sb = new StringBuffer();
                        for (HashMap<String, String> hashMap : dataClientList)
                        {
                            if (debug) outputHashMap(hashMap, System.out);
                            if (sb.length() > 0)
                            {
                                sb.append(", ");
                            }
                            sb.append(hashMap.get("client_nickname"));
                        }
                        query.sendTextMessage(Integer.parseInt(eventInfo.get("invokerid")), JTS3ServerQuery.TEXTMESSAGE_TARGET_CLIENT, "Client List (only client names displayed): " + sb.toString());
                    }
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
            else if (eventInfo.get("msg").equalsIgnoreCase("!channellist")) // Channel List
            {
                try
                {
                    Vector<HashMap<String, String>> dataChannelList = query.getList(JTS3ServerQuery.LISTMODE_CHANNELLIST);
                    if (dataChannelList != null)
                    {
                        StringBuffer sb = new StringBuffer();
                        for (HashMap<String, String> hashMap : dataChannelList)
                        {
                            if (debug) outputHashMap(hashMap, System.out);
                            if (sb.length() > 0)
                            {
                                sb.append(", ");
                            }
                            sb.append(hashMap.get("channel_name"));
                        }
                        query.sendTextMessage(Integer.parseInt(eventInfo.get("invokerid")), JTS3ServerQuery.TEXTMESSAGE_TARGET_CLIENT, "Channel List (only channel names displayed): " + sb.toString());
                    }
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
            else if (eventInfo.get("msg").equalsIgnoreCase("!logview")) // Channel List
            {
                try
                {
                    Vector<HashMap<String, String>> dataLogList = query.getLogEntries(4, false, false, 0);
                    if (dataLogList != null)
                    {
                        StringBuffer sb = new StringBuffer();
                        for (HashMap<String, String> hashMap : dataLogList)
                        {
                            if (debug) outputHashMap(hashMap, System.out);
                            if (sb.length() > 0)
                            {
                                sb.append("\n");
                            }
                            sb.append(hashMap.get("l"));
                        }
                        query.sendTextMessage(Integer.parseInt(eventInfo.get("invokerid")), JTS3ServerQuery.TEXTMESSAGE_TARGET_CLIENT, "Log entries (last 4 lines):\n" + sb.toString());
                    }
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
            else if (eventInfo.get("msg").equalsIgnoreCase("!serverinfo")) // Server Info
            {
                try
                {
                    HashMap<String, String> dataServerInfo = query.getInfo(JTS3ServerQuery.INFOMODE_SERVERINFO, 0);
                    if (debug) outputHashMap(dataServerInfo, System.out);
                    query.sendTextMessage(Integer.parseInt(eventInfo.get("invokerid")), JTS3ServerQuery.TEXTMESSAGE_TARGET_CLIENT, "Server Info (only server name displayed): " + dataServerInfo.get("virtualserver_name"));
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
    }

    void runServerMod()
    throws Exception
    {
        query = new JTS3ServerQuery();
       
        try
        {
            // Connect to TS3 Server, set your server data here
            query.connectTS3Query("localhost", 10011);
           
            // Login with an server query account. If needed, uncomment next line!
            //query.loginTS3("serveradmin", "password");
           
            // Set our class for receiving events
            query.setTeamspeakActionListener(this);
           
            // Select virtual Server
            query.selectVirtualServer(1);
           
            // Register some events
            query.addEventNotify(JTS3ServerQuery.EVENT_MODE_TEXTSERVER, 0); // Server Chat event
            query.addEventNotify(JTS3ServerQuery.EVENT_MODE_TEXTCHANNEL, 0);  // Channel Chat event
            query.addEventNotify(JTS3ServerQuery.EVENT_MODE_TEXTPRIVATE, 0);  // Private Chat event
        }
        catch (TS3ServerQueryException sqe)
        {
            System.err.println("An error occurred while connecting to the TS3 server, stopping now! More details below.");
           
            if (sqe.getFailedPermissionID() >= 0)
            {
                HashMap<String, String> permInfo = null;
                try
                {
                    // This needs the permission b_serverinstance_permission_list
                    permInfo = query.getPermissionInfo(sqe.getFailedPermissionID());
                    System.err.println("Missing permission:");
                    outputHashMap(permInfo, System.err);
                }
                catch (Exception e)
                {
                    // Ignore this exception to make sure, that a missing b_serverinstance_permission_list don't quit this program.
                }
            }
           
            throw sqe;
        }
        catch (Exception e)
        {
            System.err.println("An error occurred while connecting to the TS3 server, stopping now! More details below.");
            throw e;
        }
       
        System.out.println("You can now chat with this program, using server chat,");
        System.out.println("channel chat (in default channel) or by private messaging the query connection!");
        System.out.println("Commands are (some might need serveradmin permissions):");
        System.out.println("!clientlist");
        System.out.println("!channellist");
        System.out.println("!serverinfo");
        System.out.println("!logview");
        System.out.println("!quitbot");
        System.out.println();
       
        while(true)
        {
            try
            {
                /*
                 * Make sure that the Java VM don't quit this program.
                 */
                Thread.sleep(100);
            }
            catch (Exception e)
            {
            }
        }
    }
}

wie kann ich bei so einem Befehl den Code ausgeben ??

Java:
Vector<HashMap<String, String>> dataClientList = query.getList(JTS3ServerQuery.LISTMODE_CLIENTLIST, "-info,-times");
 

InfectedBytes

Top Contributor
Java:
for(HashMap<String, String> map : dataClientList) {
  for(String key : map.keySet()) {
    System.out.println(key);
  }
}
 

lgund

Mitglied
Ahhh hatte es schon mit keySet probiert hatte aber das gehabt:

Java:
for(HashMap<String, String> map : dataClientList.keySet()) {
    System.out.println(key);
}

und da gab es logischerweise ein compilefehler.... ok werde es heute abend nochmal probieren und mich dann melden ;)

auf jedenfall danke für die schnelle Antwort :):)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
krgewb HashMap Java Basics - Anfänger-Themen 2
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
F gson mit einer Hashmap Java Basics - Anfänger-Themen 2
J JSON-HashMap Java Basics - Anfänger-Themen 3
J Hashmap Java Basics - Anfänger-Themen 13
C Hashmap zickt Java Basics - Anfänger-Themen 9
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
J HashMap Java Basics - Anfänger-Themen 6
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
O HashMap - ArrayList Java Basics - Anfänger-Themen 29
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
J Hashmap auslesen Java Basics - Anfänger-Themen 7
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
shiroX Methoden Morse-Code Übersetzer mit HashMap Java Basics - Anfänger-Themen 5
E HashMap Problem Java Basics - Anfänger-Themen 5
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
T HashMap und die Methoden Java Basics - Anfänger-Themen 13
N Methoden Interaktives PDF mit HashMap befüllen Java Basics - Anfänger-Themen 0
Z Hashmap auseinandernehmen und analysieren Java Basics - Anfänger-Themen 7
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
F HashMap oder welches Array? Java Basics - Anfänger-Themen 4
T HashMap Java Basics - Anfänger-Themen 24
L Hashmap mit variablem Key Java Basics - Anfänger-Themen 9
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
E Hashmap Wert auslesen Java Basics - Anfänger-Themen 2
S Printstream für einen Hashmap Loop Java Basics - Anfänger-Themen 1
dat_vin OOP Hashmap und Attribute Java Basics - Anfänger-Themen 7
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
R Hashmap in anderer Klasse nicht benutzbar Java Basics - Anfänger-Themen 1
T Java Hashmap Java Basics - Anfänger-Themen 3
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
K HashMap mit Daten aus ArrayList befüllen Java Basics - Anfänger-Themen 14
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
O HashMap Fragen Java Basics - Anfänger-Themen 8
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
M Semantisches Problem HashMap/Netzwerk Java Basics - Anfänger-Themen 4
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
M HashMap keys ausgeben Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
G HashMap Java Basics - Anfänger-Themen 6
F Wortpaare - HashMap - ArrayList Java Basics - Anfänger-Themen 6
M HashMap Frage Java Basics - Anfänger-Themen 3
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
A CSV Zeilenweise einlesen und in einer HashMap speichern Java Basics - Anfänger-Themen 12
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
F Hilfe bei der HashMap. Java Basics - Anfänger-Themen 3
F HashMap vs. TreeMap Java Basics - Anfänger-Themen 5
B HashMap Java Basics - Anfänger-Themen 9
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
V Hashmap Iterieren Java Basics - Anfänger-Themen 4
C Csv File in Hashmap ausgeben Java Basics - Anfänger-Themen 14
T HashMap<String,Object> Werte auslesen Java Basics - Anfänger-Themen 5
I HashMap sortieren Java Basics - Anfänger-Themen 10
I HashMap Java Basics - Anfänger-Themen 11
H Collections Brauche modifizierte HashMap Java Basics - Anfänger-Themen 6
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
A Datentypen Hashmap to Array Java Basics - Anfänger-Themen 11
D HashMap überschreibt Werte Java Basics - Anfänger-Themen 7
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
D erweiterte hashmap Java Basics - Anfänger-Themen 5
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
L HashMap zu JList Java Basics - Anfänger-Themen 6
S Erste Schritte HashMap Kurze Frage - Werte über Schleife ausgeben Java Basics - Anfänger-Themen 30
F Collections ArrayList oder Hashmap mittel Collections.sychronised Java Basics - Anfänger-Themen 6
B Klassen HashMap Zwei Objekte, gleicher Key Java Basics - Anfänger-Themen 4
N HashMap fehlerhafte Rückgabe Java Basics - Anfänger-Themen 7
K Durch eine HashMap wandern? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben