xref: /aosp_15_r20/external/flatbuffers/grpc/tests/GameFactory.java (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Worker import java.nio.ByteBuffer;
2*890232f2SAndroid Build Coastguard Worker import MyGame.Example.Monster;
3*890232f2SAndroid Build Coastguard Worker import MyGame.Example.Stat;
4*890232f2SAndroid Build Coastguard Worker import com.google.flatbuffers.FlatBufferBuilder;
5*890232f2SAndroid Build Coastguard Worker 
6*890232f2SAndroid Build Coastguard Worker class GameFactory {
createMonster(String monsterName, short nestedMonsterHp, short nestedMonsterMana)7*890232f2SAndroid Build Coastguard Worker   public static Monster createMonster(String monsterName, short nestedMonsterHp, short nestedMonsterMana) {
8*890232f2SAndroid Build Coastguard Worker     FlatBufferBuilder builder = new FlatBufferBuilder();
9*890232f2SAndroid Build Coastguard Worker 
10*890232f2SAndroid Build Coastguard Worker     int name_offset = builder.createString(monsterName);
11*890232f2SAndroid Build Coastguard Worker     Monster.startMonster(builder);
12*890232f2SAndroid Build Coastguard Worker     Monster.addName(builder, name_offset);
13*890232f2SAndroid Build Coastguard Worker     Monster.addHp(builder, nestedMonsterHp);
14*890232f2SAndroid Build Coastguard Worker     Monster.addMana(builder, nestedMonsterMana);
15*890232f2SAndroid Build Coastguard Worker     int monster_offset = Monster.endMonster(builder);
16*890232f2SAndroid Build Coastguard Worker     Monster.finishMonsterBuffer(builder, monster_offset);
17*890232f2SAndroid Build Coastguard Worker 
18*890232f2SAndroid Build Coastguard Worker     ByteBuffer buffer = builder.dataBuffer();
19*890232f2SAndroid Build Coastguard Worker     Monster monster = Monster.getRootAsMonster(buffer);
20*890232f2SAndroid Build Coastguard Worker     return monster;
21*890232f2SAndroid Build Coastguard Worker   }
22*890232f2SAndroid Build Coastguard Worker 
createMonsterFromStat(Stat stat, int seqNo)23*890232f2SAndroid Build Coastguard Worker   public static Monster createMonsterFromStat(Stat stat, int seqNo) {
24*890232f2SAndroid Build Coastguard Worker     FlatBufferBuilder builder = new FlatBufferBuilder();
25*890232f2SAndroid Build Coastguard Worker     int name_offset = builder.createString(stat.id() + " No." + seqNo);
26*890232f2SAndroid Build Coastguard Worker     Monster.startMonster(builder);
27*890232f2SAndroid Build Coastguard Worker     Monster.addName(builder, name_offset);
28*890232f2SAndroid Build Coastguard Worker     int monster_offset = Monster.endMonster(builder);
29*890232f2SAndroid Build Coastguard Worker     Monster.finishMonsterBuffer(builder, monster_offset);
30*890232f2SAndroid Build Coastguard Worker     Monster monster = Monster.getRootAsMonster(builder.dataBuffer());
31*890232f2SAndroid Build Coastguard Worker     return monster;
32*890232f2SAndroid Build Coastguard Worker   }
33*890232f2SAndroid Build Coastguard Worker 
createStat(String greeting, long val, int count)34*890232f2SAndroid Build Coastguard Worker   public static Stat createStat(String greeting, long val, int count) {
35*890232f2SAndroid Build Coastguard Worker     FlatBufferBuilder builder = new FlatBufferBuilder();
36*890232f2SAndroid Build Coastguard Worker     int statOffset = Stat.createStat(builder, builder.createString(greeting), val, count);
37*890232f2SAndroid Build Coastguard Worker     builder.finish(statOffset);
38*890232f2SAndroid Build Coastguard Worker     Stat stat = Stat.getRootAsStat(builder.dataBuffer());
39*890232f2SAndroid Build Coastguard Worker     return stat;
40*890232f2SAndroid Build Coastguard Worker   }
41*890232f2SAndroid Build Coastguard Worker 
42*890232f2SAndroid Build Coastguard Worker }
43