version info reader implemented
[idea/community.git] / tools / launcher-generator / src / com / pme / exe / res / vi / StringTableEntry.java
1 /*
2  * Copyright 2006 ProductiveMe Inc.
3  * Copyright 2013 JetBrains s.r.o.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 package com.pme.exe.res.vi;
19
20 import com.pme.exe.Bin;
21 import com.pme.util.OffsetTrackingInputStream;
22
23 import java.io.*;
24 import java.util.ArrayList;
25
26 public class StringTableEntry extends Bin.Structure {
27   public StringTableEntry() {
28     super("<unnamed>");
29     addMember(new Word("wLength"));
30     addMember(new Word("wValueLength"));
31     addMember(new Word("wType"));
32     addMember(new WChar("szKey"));
33     addMember(new Padding(4));
34     addMember(new WChar("Value"));
35     addMember(new Padding(4));
36   }
37
38   @Override
39   public void read(DataInput stream) throws IOException {
40     super.read(stream);
41     WChar key = (WChar) getMember("szKey");
42     setName(key.getValue());
43   }
44
45   @Override
46   public String toString() {
47     WChar key = (WChar) getMember("szKey");
48     WChar value = (WChar) getMember("Value");
49     return key.getValue() + " = " + value.getValue();
50   }
51 }