Advertisement
Guest User

Untitled

a guest
Sep 24th, 2021
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.54 KB | None | 0 0
  1. public interface Jsonizer {
  2.     String toJson(); // or whatever you want it to return
  3. }
  4.  
  5. public class ActorsManager implements Jsonizer {
  6.    
  7.     private static final int NOT_FOUND = -1;
  8.    
  9.     private List<Actor> actors = new ArrayList<>();
  10.    
  11.     public void addActor(Actor actor) {
  12.         if (!actors.contains(actor)) {
  13.             actors.add(actor);
  14.         }
  15.     }
  16.    
  17.     public Actor getActor(Player player) {
  18.         int index = getActorIndex(player);
  19.         return index == NOT_FOUND ? null : actors.get(i);
  20.     }
  21.    
  22.     public void removeActor(Player player) {
  23.         int index = getActorIndex(player);
  24.         if (index != NOT_FOUND) {
  25.             actors.remove(index);
  26.         }
  27.     }
  28.    
  29.     private int getActorIndex(Player player) {
  30.         int index = NOT_FOUND;
  31.         int size = actors.size();
  32.         for (int i = 0; i < size; i ++) {
  33.             if (actors.get(i).getPlayer() == player) {
  34.                 index = i;
  35.                 break;
  36.             }
  37.         }
  38.         return index;
  39.     }
  40.    
  41.     @Override
  42.     public String toJson() {
  43.         StringBuilder json = new StringBuilder("[");
  44.         int size = actors.size();
  45.         for (int i = 0; i < size - 1; i ++) {
  46.             json.append(actors.get(i).toJson()).append(", ");
  47.         }
  48.         if (size > 0) {
  49.             json.append(actors.get(size - 1).toJson());
  50.         }
  51.         return json.append(']').toString();
  52.     }
  53. }
  54.  
  55. public class Actor implements Jsonizer {
  56.    
  57.     private Player player;
  58.    
  59.     public Actor(Player player) {
  60.         this.player = player;
  61.     }
  62.    
  63.     public Player getPlayer() {
  64.         return player;
  65.     }
  66.    
  67.     @Override
  68.     public String toJson() {
  69.         return "{}"; // whatever
  70.     }
  71.    
  72.     public static Actor fromJson(Player player, String json) {
  73.         return null; // whatever
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement