FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
com.freerdp.freerdpcore.utils.RDPFileParser Class Reference

Public Member Functions

 RDPFileParser (String filename) throws IOException
 
void parse (String filename) throws IOException
 
String getString (String optionName)
 
Integer getInteger (String optionName)
 

Detailed Description

Definition at line 19 of file RDPFileParser.java.

Constructor & Destructor Documentation

◆ RDPFileParser() [1/2]

com.freerdp.freerdpcore.utils.RDPFileParser.RDPFileParser ( )
inline

Definition at line 27 of file RDPFileParser.java.

28 {
29 init();
30 }

◆ RDPFileParser() [2/2]

com.freerdp.freerdpcore.utils.RDPFileParser.RDPFileParser ( String  filename) throws IOException
inline

Definition at line 32 of file RDPFileParser.java.

33 {
34 init();
35 parse(filename);
36 }

Member Function Documentation

◆ getInteger()

Integer com.freerdp.freerdpcore.utils.RDPFileParser.getInteger ( String  optionName)
inline

Definition at line 104 of file RDPFileParser.java.

105 {
106 if (options.get(optionName) instanceof Integer)
107 return (Integer)options.get(optionName);
108 else
109 return null;
110 }

◆ getString()

String com.freerdp.freerdpcore.utils.RDPFileParser.getString ( String  optionName)
inline

Definition at line 96 of file RDPFileParser.java.

97 {
98 if (options.get(optionName) instanceof String)
99 return (String)options.get(optionName);
100 else
101 return null;
102 }

◆ parse()

void com.freerdp.freerdpcore.utils.RDPFileParser.parse ( String  filename) throws IOException
inline

Definition at line 43 of file RDPFileParser.java.

44 {
45 BufferedReader br = new BufferedReader(new FileReader(filename));
46 String line = null;
47
48 int errors = 0;
49 int lines = 0;
50 boolean ok;
51
52 while ((line = br.readLine()) != null)
53 {
54 lines++;
55 ok = false;
56
57 if (errors > MAX_ERRORS || lines > MAX_LINES)
58 {
59 br.close();
60 throw new IOException("Parsing limits exceeded");
61 }
62
63 String[] fields = line.split(":", 3);
64
65 if (fields.length == 3)
66 {
67 if (fields[1].equals("s"))
68 {
69 options.put(fields[0].toLowerCase(Locale.ENGLISH), fields[2]);
70 ok = true;
71 }
72 else if (fields[1].equals("i"))
73 {
74 try
75 {
76 Integer i = Integer.parseInt(fields[2]);
77 options.put(fields[0].toLowerCase(Locale.ENGLISH), i);
78 ok = true;
79 }
80 catch (NumberFormatException e)
81 {
82 }
83 }
84 else if (fields[1].equals("b"))
85 {
86 ok = true;
87 }
88 }
89
90 if (!ok)
91 errors++;
92 }
93 br.close();
94 }

The documentation for this class was generated from the following file: