@@ -113,7 +113,6 @@ public final class Fory implements BaseFory {
113
113
private final StringSerializer stringSerializer ;
114
114
private final ArrayListSerializer arrayListSerializer ;
115
115
private final HashMapSerializer hashMapSerializer ;
116
- private final Language language ;
117
116
private final boolean crossLanguage ;
118
117
private final boolean compressInt ;
119
118
private final LongEncoding longEncoding ;
@@ -132,8 +131,7 @@ public Fory(ForyBuilder builder, ClassLoader classLoader) {
132
131
// Avoid set classLoader in `ForyBuilder`, which won't be clear when
133
132
// `org.apache.fory.ThreadSafeFory.clearClassLoader` is called.
134
133
config = new Config (builder );
135
- this .language = config .getLanguage ();
136
- crossLanguage = language != Language .JAVA ;
134
+ crossLanguage = config .getLanguage () != Language .JAVA ;
137
135
this .refTracking = config .trackingRef ();
138
136
this .copyRefTracking = config .copyRef ();
139
137
this .shareMeta = config .isMetaShareEnabled ();
@@ -148,7 +146,7 @@ public Fory(ForyBuilder builder, ClassLoader classLoader) {
148
146
generics = new Generics (this );
149
147
metaStringResolver = new MetaStringResolver ();
150
148
classResolver = new ClassResolver (this );
151
- if (language != Language . JAVA ) {
149
+ if (crossLanguage ) {
152
150
xtypeResolver = new XtypeResolver (this );
153
151
} else {
154
152
xtypeResolver = null ;
@@ -169,7 +167,7 @@ public Fory(ForyBuilder builder, ClassLoader classLoader) {
169
167
170
168
@ Override
171
169
public void register (Class <?> cls ) {
172
- if (language == Language . JAVA ) {
170
+ if (! crossLanguage ) {
173
171
classResolver .register (cls );
174
172
} else {
175
173
xtypeResolver .register (cls );
@@ -178,7 +176,7 @@ public void register(Class<?> cls) {
178
176
179
177
@ Override
180
178
public void register (Class <?> cls , int id ) {
181
- if (language == Language . JAVA ) {
179
+ if (! crossLanguage ) {
182
180
classResolver .register (cls , id );
183
181
} else {
184
182
xtypeResolver .register (cls , id );
@@ -187,7 +185,7 @@ public void register(Class<?> cls, int id) {
187
185
188
186
@ Override
189
187
public void register (Class <?> cls , boolean createSerializer ) {
190
- if (language == Language . JAVA ) {
188
+ if (! crossLanguage ) {
191
189
classResolver .register (cls , createSerializer );
192
190
} else {
193
191
xtypeResolver .register (cls );
@@ -196,7 +194,7 @@ public void register(Class<?> cls, boolean createSerializer) {
196
194
197
195
@ Override
198
196
public void register (Class <?> cls , int id , boolean createSerializer ) {
199
- if (language == Language . JAVA ) {
197
+ if (! crossLanguage ) {
200
198
classResolver .register (cls , id , createSerializer );
201
199
} else {
202
200
xtypeResolver .register (cls , id );
@@ -215,7 +213,7 @@ public void register(Class<?> cls, String typeName) {
215
213
}
216
214
217
215
public void register (Class <?> cls , String namespace , String typeName ) {
218
- if (language == Language . JAVA ) {
216
+ if (! crossLanguage ) {
219
217
classResolver .register (cls , namespace , typeName );
220
218
} else {
221
219
xtypeResolver .register (cls , namespace , typeName );
@@ -224,7 +222,7 @@ public void register(Class<?> cls, String namespace, String typeName) {
224
222
225
223
@ Override
226
224
public <T > void registerSerializer (Class <T > type , Class <? extends Serializer > serializerClass ) {
227
- if (language == Language . JAVA ) {
225
+ if (! crossLanguage ) {
228
226
classResolver .registerSerializer (type , serializerClass );
229
227
} else {
230
228
xtypeResolver .registerSerializer (type , serializerClass );
@@ -233,7 +231,7 @@ public <T> void registerSerializer(Class<T> type, Class<? extends Serializer> se
233
231
234
232
@ Override
235
233
public void registerSerializer (Class <?> type , Serializer <?> serializer ) {
236
- if (language == Language . JAVA ) {
234
+ if (! crossLanguage ) {
237
235
classResolver .registerSerializer (type , serializer );
238
236
} else {
239
237
xtypeResolver .registerSerializer (type , serializer );
@@ -242,7 +240,7 @@ public void registerSerializer(Class<?> type, Serializer<?> serializer) {
242
240
243
241
@ Override
244
242
public void registerSerializer (Class <?> type , Function <Fory , Serializer <?>> serializerCreator ) {
245
- if (language == Language . JAVA ) {
243
+ if (! crossLanguage ) {
246
244
classResolver .registerSerializer (type , serializerCreator .apply (this ));
247
245
} else {
248
246
xtypeResolver .registerSerializer (type , serializerCreator .apply (this ));
@@ -260,7 +258,7 @@ public SerializerFactory getSerializerFactory() {
260
258
261
259
public <T > Serializer <T > getSerializer (Class <T > cls ) {
262
260
Preconditions .checkNotNull (cls );
263
- if (language == Language . JAVA ) {
261
+ if (! crossLanguage ) {
264
262
return classResolver .getSerializer (cls );
265
263
} else {
266
264
return xtypeResolver .getClassInfo (cls ).getSerializer ();
@@ -301,11 +299,11 @@ public MemoryBuffer serialize(MemoryBuffer buffer, Object obj) {
301
299
302
300
@ Override
303
301
public MemoryBuffer serialize (MemoryBuffer buffer , Object obj , BufferCallback callback ) {
304
- if (language == Language . XLANG ) {
302
+ if (crossLanguage ) {
305
303
buffer .writeInt16 (MAGIC_NUMBER );
306
304
}
307
305
byte bitmap = BITMAP ;
308
- if (language != Language . JAVA ) {
306
+ if (crossLanguage ) {
309
307
bitmap |= isCrossLanguageFlag ;
310
308
}
311
309
if (obj == null ) {
@@ -323,7 +321,7 @@ public MemoryBuffer serialize(MemoryBuffer buffer, Object obj, BufferCallback ca
323
321
if (depth != 0 ) {
324
322
throwDepthSerializationException ();
325
323
}
326
- if (language == Language . JAVA ) {
324
+ if (! crossLanguage ) {
327
325
write (buffer , obj );
328
326
} else {
329
327
xwrite (buffer , obj );
@@ -675,7 +673,7 @@ public void writeBufferObject(MemoryBuffer buffer, BufferObject bufferObject) {
675
673
// write aligned length so that later buffer copy happen on aligned offset, which will be more
676
674
// efficient
677
675
// TODO(chaokunyang) Remove branch when other languages support aligned varint.
678
- if (language == Language . JAVA ) {
676
+ if (! crossLanguage ) {
679
677
buffer .writeVarUint32Aligned (totalBytes );
680
678
} else {
681
679
buffer .writeVarUint32 (totalBytes );
@@ -699,7 +697,7 @@ public void writeBufferObject(
699
697
// write aligned length so that later buffer copy happen on aligned offset, which will be very
700
698
// efficient
701
699
// TODO(chaokunyang) Remove branch when other languages support aligned varint.
702
- if (language == Language . JAVA ) {
700
+ if (! crossLanguage ) {
703
701
buffer .writeVarUint32Aligned (totalBytes );
704
702
} else {
705
703
buffer .writeVarUint32 (totalBytes );
@@ -715,7 +713,7 @@ public MemoryBuffer readBufferObject(MemoryBuffer buffer) {
715
713
if (inBand ) {
716
714
int size ;
717
715
// TODO(chaokunyang) Remove branch when other languages support aligned varint.
718
- if (language == Language . JAVA ) {
716
+ if (! crossLanguage ) {
719
717
size = buffer .readAlignedVarUint ();
720
718
} else {
721
719
size = buffer .readVarUint32 ();
@@ -841,7 +839,7 @@ public Object deserialize(MemoryBuffer buffer, Iterable<MemoryBuffer> outOfBandB
841
839
if (depth != 0 ) {
842
840
throwDepthDeserializationException ();
843
841
}
844
- if (language == Language . XLANG ) {
842
+ if (crossLanguage ) {
845
843
short magicNumber = buffer .readInt16 ();
846
844
assert magicNumber == MAGIC_NUMBER
847
845
: String .format (
@@ -1597,15 +1595,15 @@ public void resetCopy() {
1597
1595
}
1598
1596
1599
1597
private void throwDepthSerializationException () {
1600
- String method = "Fory#" + (language != Language . JAVA ? "x" : "" ) + "writeXXX" ;
1598
+ String method = "Fory#" + (crossLanguage ? "x" : "" ) + "writeXXX" ;
1601
1599
throw new IllegalStateException (
1602
1600
String .format (
1603
1601
"Nested call Fory.serializeXXX is not allowed when serializing, Please use %s instead" ,
1604
1602
method ));
1605
1603
}
1606
1604
1607
1605
private void throwDepthDeserializationException () {
1608
- String method = "Fory#" + (language != Language . JAVA ? "x" : "" ) + "readXXX" ;
1606
+ String method = "Fory#" + (crossLanguage ? "x" : "" ) + "readXXX" ;
1609
1607
throw new IllegalStateException (
1610
1608
String .format (
1611
1609
"Nested call Fory.deserializeXXX is not allowed when deserializing, Please use %s instead" ,
@@ -1676,10 +1674,6 @@ public ClassLoader getClassLoader() {
1676
1674
return classLoader ;
1677
1675
}
1678
1676
1679
- public Language getLanguage () {
1680
- return language ;
1681
- }
1682
-
1683
1677
public boolean isCrossLanguage () {
1684
1678
return crossLanguage ;
1685
1679
}
0 commit comments