00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.util;
00023
00024 import java.util.ArrayList;
00025 import java.util.List;
00026 import org.jetbrains.annotations.NotNull;
00027
00032 public class Mapping {
00033
00037 @NotNull
00038 private final List<Integer> mapping = new ArrayList<Integer>();
00039
00043 public void clear() {
00044 mapping.clear();
00045 }
00046
00052 public void insert(final int src, final int dst) {
00053 for (int i = 0; i < mapping.size(); i++) {
00054 final int value = mapping.get(i);
00055 if (value >= dst) {
00056 mapping.set(i, value+1);
00057 }
00058 }
00059 mapping.add(src, dst);
00060 }
00061
00066 public void remove(final int src) {
00067 final int dst = mapping.get(src);
00068 mapping.remove(src);
00069 for (int i = 0; i < mapping.size(); i++) {
00070 final int value = mapping.get(i);
00071 if (value >= dst) {
00072 mapping.set(i, value-1);
00073 }
00074 }
00075 }
00076
00082 public int get(final int src) {
00083 return mapping.get(src);
00084 }
00085
00086 }