mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-20 07:05:05 +00:00
* [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521) * [Java] ObjectAPI implementation (#6521)
This commit is contained in:
@@ -17,9 +17,9 @@ public final class Attacker extends Table {
|
||||
public boolean mutateSwordAttackDamage(int sword_attack_damage) { int o = __offset(4); if (o != 0) { bb.putInt(o + bb_pos, sword_attack_damage); return true; } else { return false; } }
|
||||
|
||||
public static int createAttacker(FlatBufferBuilder builder,
|
||||
int sword_attack_damage) {
|
||||
int swordAttackDamage) {
|
||||
builder.startTable(1);
|
||||
Attacker.addSwordAttackDamage(builder, sword_attack_damage);
|
||||
Attacker.addSwordAttackDamage(builder, swordAttackDamage);
|
||||
return Attacker.endAttacker(builder);
|
||||
}
|
||||
|
||||
@@ -36,5 +36,20 @@ public final class Attacker extends Table {
|
||||
public Attacker get(int j) { return get(new Attacker(), j); }
|
||||
public Attacker get(Attacker obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
|
||||
}
|
||||
public AttackerT unpack() {
|
||||
AttackerT _o = new AttackerT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(AttackerT _o) {
|
||||
int _oSwordAttackDamage = swordAttackDamage();
|
||||
_o.setSwordAttackDamage(_oSwordAttackDamage);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, AttackerT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createAttacker(
|
||||
builder,
|
||||
_o.getSwordAttackDamage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
20
tests/union_vector/AttackerT.java
Normal file
20
tests/union_vector/AttackerT.java
Normal file
@@ -0,0 +1,20 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import java.nio.*;
|
||||
import java.lang.*;
|
||||
import java.util.*;
|
||||
import com.google.flatbuffers.*;
|
||||
|
||||
public class AttackerT {
|
||||
private int swordAttackDamage;
|
||||
|
||||
public int getSwordAttackDamage() { return swordAttackDamage; }
|
||||
|
||||
public void setSwordAttackDamage(int swordAttackDamage) { this.swordAttackDamage = swordAttackDamage; }
|
||||
|
||||
|
||||
public AttackerT() {
|
||||
this.swordAttackDamage = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,5 +25,20 @@ public final class BookReader extends Struct {
|
||||
public BookReader get(int j) { return get(new BookReader(), j); }
|
||||
public BookReader get(BookReader obj, int j) { return obj.__assign(__element(j), bb); }
|
||||
}
|
||||
public BookReaderT unpack() {
|
||||
BookReaderT _o = new BookReaderT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(BookReaderT _o) {
|
||||
int _oBooksRead = booksRead();
|
||||
_o.setBooksRead(_oBooksRead);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, BookReaderT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createBookReader(
|
||||
builder,
|
||||
_o.getBooksRead());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
20
tests/union_vector/BookReaderT.java
Normal file
20
tests/union_vector/BookReaderT.java
Normal file
@@ -0,0 +1,20 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import java.nio.*;
|
||||
import java.lang.*;
|
||||
import java.util.*;
|
||||
import com.google.flatbuffers.*;
|
||||
|
||||
public class BookReaderT {
|
||||
private int booksRead;
|
||||
|
||||
public int getBooksRead() { return booksRead; }
|
||||
|
||||
public void setBooksRead(int booksRead) { this.booksRead = booksRead; }
|
||||
|
||||
|
||||
public BookReaderT() {
|
||||
this.booksRead = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class Character {
|
||||
private Character() { }
|
||||
public static final byte NONE = 0;
|
||||
|
||||
41
tests/union_vector/CharacterUnion.java
Normal file
41
tests/union_vector/CharacterUnion.java
Normal file
@@ -0,0 +1,41 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import com.google.flatbuffers.FlatBufferBuilder;
|
||||
|
||||
public class CharacterUnion {
|
||||
private byte type;
|
||||
private Object value;
|
||||
|
||||
public byte getType() { return type; }
|
||||
|
||||
public void setType(byte type) { this.type = type; }
|
||||
|
||||
public Object getValue() { return value; }
|
||||
|
||||
public void setValue(Object value) { this.value = value; }
|
||||
|
||||
public CharacterUnion() {
|
||||
this.type = Character.NONE;
|
||||
this.value = null;
|
||||
}
|
||||
|
||||
public AttackerT asMuLan() { return (AttackerT) value; }
|
||||
public RapunzelT asRapunzel() { return (RapunzelT) value; }
|
||||
public BookReaderT asBelle() { return (BookReaderT) value; }
|
||||
public BookReaderT asBookFan() { return (BookReaderT) value; }
|
||||
public String asOther() { return (String) value; }
|
||||
public String asUnused() { return (String) value; }
|
||||
|
||||
public static int pack(FlatBufferBuilder builder, CharacterUnion _o) {
|
||||
switch (_o.type) {
|
||||
case Character.MuLan: return Attacker.pack(builder, _o.asMuLan());
|
||||
case Character.Rapunzel: return Rapunzel.pack(builder, _o.asRapunzel());
|
||||
case Character.Belle: return BookReader.pack(builder, _o.asBelle());
|
||||
case Character.BookFan: return BookReader.pack(builder, _o.asBookFan());
|
||||
case Character.Other: return builder.createString(_o.asOther());
|
||||
case Character.Unused: return builder.createString(_o.asUnused());
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,15 +28,15 @@ public final class Movie extends Table {
|
||||
public UnionVector charactersVector(UnionVector obj) { int o = __offset(10); return o != 0 ? obj.__assign(__vector(o), 4, bb) : null; }
|
||||
|
||||
public static int createMovie(FlatBufferBuilder builder,
|
||||
byte main_character_type,
|
||||
int main_characterOffset,
|
||||
int characters_typeOffset,
|
||||
byte mainCharacterType,
|
||||
int mainCharacterOffset,
|
||||
int charactersTypeOffset,
|
||||
int charactersOffset) {
|
||||
builder.startTable(4);
|
||||
Movie.addCharacters(builder, charactersOffset);
|
||||
Movie.addCharactersType(builder, characters_typeOffset);
|
||||
Movie.addMainCharacter(builder, main_characterOffset);
|
||||
Movie.addMainCharacterType(builder, main_character_type);
|
||||
Movie.addCharactersType(builder, charactersTypeOffset);
|
||||
Movie.addMainCharacter(builder, mainCharacterOffset);
|
||||
Movie.addMainCharacterType(builder, mainCharacterType);
|
||||
return Movie.endMovie(builder);
|
||||
}
|
||||
|
||||
@@ -62,5 +62,65 @@ public final class Movie extends Table {
|
||||
public Movie get(int j) { return get(new Movie(), j); }
|
||||
public Movie get(Movie obj, int j) { return obj.__assign(__indirect(__element(j), bb), bb); }
|
||||
}
|
||||
public MovieT unpack() {
|
||||
MovieT _o = new MovieT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(MovieT _o) {
|
||||
CharacterUnion _oMainCharacter = new CharacterUnion();
|
||||
byte _oMainCharacterType = mainCharacterType();
|
||||
_oMainCharacter.setType(_oMainCharacterType);
|
||||
Table _oMainCharacterValue;
|
||||
switch (_oMainCharacterType) {
|
||||
case Character.MuLan:
|
||||
_oMainCharacterValue = mainCharacter(new Attacker());
|
||||
_oMainCharacter.setValue(_oMainCharacterValue != null ? ((Attacker) _oMainCharacterValue).unpack() : null);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
_o.setMainCharacter(_oMainCharacter);
|
||||
CharacterUnion[] _oCharacters = new CharacterUnion[charactersLength()];
|
||||
for (int _j = 0; _j < charactersLength(); ++_j) {
|
||||
CharacterUnion _oCharactersElement = new CharacterUnion();
|
||||
byte _oCharactersElementType = charactersType(_j);
|
||||
_oCharactersElement.setType(_oCharactersElementType);
|
||||
Table _oCharactersElementValue;
|
||||
switch (_oCharactersElementType) {
|
||||
case Character.MuLan:
|
||||
_oCharactersElementValue = characters(new Attacker(), _j);
|
||||
_oCharactersElement.setValue(_oCharactersElementValue != null ? ((Attacker) _oCharactersElementValue).unpack() : null);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
_oCharacters[_j] = _oCharactersElement;
|
||||
}
|
||||
_o.setCharacters(_oCharacters);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, MovieT _o) {
|
||||
if (_o == null) return 0;
|
||||
byte _mainCharacterType = _o.getMainCharacter() == null ? Character.NONE : _o.getMainCharacter().getType();
|
||||
int _mainCharacter = _o.getMainCharacter() == null ? 0 : CharacterUnion.pack(builder, _o.getMainCharacter());
|
||||
int _charactersType = 0;
|
||||
if (_o.getCharacters() != null) {
|
||||
byte[] __charactersType = new byte[_o.getCharacters().length];
|
||||
int _j = 0;
|
||||
for (CharacterUnion _e : _o.getCharacters()) { __charactersType[_j] = _o.getCharacters()[_j].getType(); _j++;}
|
||||
_charactersType = createCharactersTypeVector(builder, __charactersType);
|
||||
}
|
||||
int _characters = 0;
|
||||
if (_o.getCharacters() != null) {
|
||||
int[] __characters = new int[_o.getCharacters().length];
|
||||
int _j = 0;
|
||||
for (CharacterUnion _e : _o.getCharacters()) { __characters[_j] = CharacterUnion.pack(builder, _o.getCharacters()[_j]); _j++;}
|
||||
_characters = createCharactersVector(builder, __characters);
|
||||
}
|
||||
return createMovie(
|
||||
builder,
|
||||
_mainCharacterType,
|
||||
_mainCharacter,
|
||||
_charactersType,
|
||||
_characters);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
34
tests/union_vector/MovieT.java
Normal file
34
tests/union_vector/MovieT.java
Normal file
@@ -0,0 +1,34 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import java.nio.*;
|
||||
import java.lang.*;
|
||||
import java.util.*;
|
||||
import com.google.flatbuffers.*;
|
||||
|
||||
public class MovieT {
|
||||
private CharacterUnion mainCharacter;
|
||||
private CharacterUnion[] characters;
|
||||
|
||||
public CharacterUnion getMainCharacter() { return mainCharacter; }
|
||||
|
||||
public void setMainCharacter(CharacterUnion mainCharacter) { this.mainCharacter = mainCharacter; }
|
||||
|
||||
public CharacterUnion[] getCharacters() { return characters; }
|
||||
|
||||
public void setCharacters(CharacterUnion[] characters) { this.characters = characters; }
|
||||
|
||||
|
||||
public MovieT() {
|
||||
this.mainCharacter = null;
|
||||
this.characters = null;
|
||||
}
|
||||
public static MovieT deserializeFromBinary(byte[] fbBuffer) {
|
||||
return Movie.getRootAsMovie(ByteBuffer.wrap(fbBuffer)).unpack();
|
||||
}
|
||||
public byte[] serializeToBinary() {
|
||||
FlatBufferBuilder fbb = new FlatBufferBuilder();
|
||||
Movie.finishMovieBuffer(fbb, Movie.pack(fbb, this));
|
||||
return fbb.sizedByteArray();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,5 +25,20 @@ public final class Rapunzel extends Struct {
|
||||
public Rapunzel get(int j) { return get(new Rapunzel(), j); }
|
||||
public Rapunzel get(Rapunzel obj, int j) { return obj.__assign(__element(j), bb); }
|
||||
}
|
||||
public RapunzelT unpack() {
|
||||
RapunzelT _o = new RapunzelT();
|
||||
unpackTo(_o);
|
||||
return _o;
|
||||
}
|
||||
public void unpackTo(RapunzelT _o) {
|
||||
int _oHairLength = hairLength();
|
||||
_o.setHairLength(_oHairLength);
|
||||
}
|
||||
public static int pack(FlatBufferBuilder builder, RapunzelT _o) {
|
||||
if (_o == null) return 0;
|
||||
return createRapunzel(
|
||||
builder,
|
||||
_o.getHairLength());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
20
tests/union_vector/RapunzelT.java
Normal file
20
tests/union_vector/RapunzelT.java
Normal file
@@ -0,0 +1,20 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
import java.nio.*;
|
||||
import java.lang.*;
|
||||
import java.util.*;
|
||||
import com.google.flatbuffers.*;
|
||||
|
||||
public class RapunzelT {
|
||||
private int hairLength;
|
||||
|
||||
public int getHairLength() { return hairLength; }
|
||||
|
||||
public void setHairLength(int hairLength) { this.hairLength = hairLength; }
|
||||
|
||||
|
||||
public RapunzelT() {
|
||||
this.hairLength = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user