36 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.mojang.realmsclient.dto;
 | |
| 
 | |
| import com.google.gson.annotations.SerializedName;
 | |
| import java.lang.reflect.Field;
 | |
| import java.lang.reflect.Modifier;
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public abstract class ValueObject {
 | |
| 	public String toString() {
 | |
| 		StringBuilder stringBuilder = new StringBuilder("{");
 | |
| 
 | |
| 		for (Field field : this.getClass().getFields()) {
 | |
| 			if (!isStatic(field)) {
 | |
| 				try {
 | |
| 					stringBuilder.append(getName(field)).append("=").append(field.get(this)).append(" ");
 | |
| 				} catch (IllegalAccessException var7) {
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		stringBuilder.deleteCharAt(stringBuilder.length() - 1);
 | |
| 		stringBuilder.append('}');
 | |
| 		return stringBuilder.toString();
 | |
| 	}
 | |
| 
 | |
| 	private static String getName(Field field) {
 | |
| 		SerializedName serializedName = (SerializedName)field.getAnnotation(SerializedName.class);
 | |
| 		return serializedName != null ? serializedName.value() : field.getName();
 | |
| 	}
 | |
| 
 | |
| 	private static boolean isStatic(Field field) {
 | |
| 		return Modifier.isStatic(field.getModifiers());
 | |
| 	}
 | |
| }
 |