HistoryData.java

00001 /*
00002  * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM)
00003  * Copyright (C) 2004-2006 Philippe Delrieu
00004  * All rights reserved.
00005  * Contact: pdelrieu@openmobileis.org
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
00020  * USA
00021  *
00022  *  Author : Philippe Delrieu
00023  *  
00024  *  Modifications :
00025  *  Creation P.Delrieu
00026  * 
00027  */
00028 package org.openmobileis.modules.common.history;
00029 
00030 import java.io.Serializable;
00031 
00038 public class HistoryData implements Serializable {
00039   static final long serialVersionUID = 5521257935120563452L;
00040 
00041 
00042     
00043     private String service;
00044     private String[] ids;
00045     
00046     
00047     public HistoryData(String serviceName,int sizeTab) {
00048       this.service = serviceName;
00049       this.ids = new String[sizeTab];
00050       
00051     }
00052     
00053     public String getService(){
00054       return this.service;
00055     }
00056     
00057     public String[] getIds(){
00058       return this.ids;
00059     }   
00060     
00061     public void addId(String id) {
00062       
00063                         int pos = this.getPosition(id);
00064                         if (pos != -1) { // does exists
00065                                 this.remove(pos);
00066                         }
00067                         this.addLast(id);
00068       
00069     }
00070     
00071          private int getPosition(String id) {
00072                 for (int i=0; i < ids.length; i++) {
00073                  if ((ids[i] != null) && (ids[i].equals(id))) {
00074                          return i;
00075                  }
00076                 }
00077                 return -1;
00078          }
00079          
00080         private void addLast(String uid) {
00081                  for (int i=0; i < ids.length; i++) {
00082                          if (ids[i] == null) {
00083                                  ids[i] = uid; // not yet completed
00084                                  return;
00085                          }
00086                  }
00087                  this.remove(0);
00088                  ids[ids.length -1] = uid;
00089         }
00090         
00091         private void remove (int pos) {
00092                  for (int i=pos; i < ids.length-1; i++) {
00093                          ids[i] = ids[i+1];
00094                  }
00095                         ids[ids.length-1] = null;
00096          }
00097    
00098   
00099 
00100 }

Generated on Mon Dec 4 11:03:27 2006 for OpenMobileIS by  doxygen 1.5.1-p1