home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Java / Java.zip / jload18.zip / util.java < prev   
Text File  |  2000-04-12  |  3KB  |  143 lines

  1. /* optimized version */
  2. /* hacked for loader */
  3.  
  4. public final class util
  5. {
  6.  
  7. public final static String[] addStringToArray(String what,String[] array)
  8. {
  9.  //if(what==null) return array;
  10.  if(array==null) { array=new String[1];array[0]=what;return array;}
  11.  String[] tmp;
  12.  int ar=array.length;
  13.  tmp=new String[ar+1];
  14.  System.arraycopy(array,0,tmp,0,ar);
  15.  tmp[ar]=what;
  16.  return tmp;
  17. }
  18.  
  19. public final static boolean[] addBooleanToArray(boolean what,boolean[] array)
  20. {
  21.  //if(what==null) return array;
  22.  if(array==null) { array=new boolean[1];array[0]=what;return array;}
  23.  boolean[] tmp;
  24.  int ar=array.length;
  25.  tmp=new boolean[ar+1];
  26.  System.arraycopy(array,0,tmp,0,ar);
  27.  tmp[ar]=what;
  28.  return tmp;
  29. }
  30.  
  31. public final static regexp[] addRegexpToArray(String what,regexp[] array)
  32. {
  33.  if(what==null) return array;
  34.  if(array==null) { array=new regexp[1];array[0]=new regexp(what,!configloader.case_sensitive);return array;}
  35.  if(isInRegexpArray(what,array)) return array;
  36.  
  37.  int arl=array.length;
  38.  regexp[] tmp;
  39.  tmp=new regexp[arl+1];
  40.  System.arraycopy(array,0,tmp,0,arl);
  41.  tmp[arl]=new regexp(what,!configloader.case_sensitive);
  42.  return tmp;
  43. }
  44.  
  45. public final static boolean isInRegexpArray(String what,regexp[] array)
  46. {
  47.  if(array==null) return false;
  48.  /* test zda tam uz nejsme */
  49.  int arl=array.length;
  50.  for(int i=0;i<arl;i++)
  51.   if(array[i].matches(what)) { return true;}
  52.  return false;
  53. }
  54.  
  55. public final static mask[] addMaskToArray(mask what,mask[] array)
  56. {
  57.  //if(what==null) return array;
  58.  if(array==null) { array=new mask[1];array[0]=what;return array;}
  59.  mask[] tmp;
  60.  int ar=array.length;
  61.  tmp=new mask[ar+1];
  62.  System.arraycopy(array,0,tmp,0,ar);
  63.  tmp[ar]=what;
  64.  return tmp;
  65. }
  66.  
  67. public final static location[] addLocationToArray(location what,location[] array)
  68. {
  69.  //if(what==null) return array;
  70.  if(array==null) { array=new location[1];array[0]=what;return array;}
  71.  location[] tmp;
  72.  int ar=array.length;
  73.  tmp=new location[ar+1];
  74.  System.arraycopy(array,0,tmp,0,ar);
  75.  tmp[ar]=what;
  76.  return tmp;
  77. }
  78.  
  79.  
  80. public final static String getDirname(String fileurl)
  81. {
  82.    /* new code (from smart cache) */
  83.    
  84.    byte v[];
  85.    int j=fileurl.length();
  86.    
  87.    v=new byte[j];
  88.    fileurl.getBytes(0,j,v,0);
  89.    loop1:for(int zz=0;zz<j;zz++)
  90.     {
  91.       switch(v[zz])
  92.       {
  93.         case 0x3b: // ;
  94.         case 0x3a: // :
  95.         case 0x3d: // =
  96.         case 0x3f: // ?
  97.       //  case 0x23: // # - je jiz odstranen
  98.               j=zz;break loop1;
  99.       }
  100.     }
  101.       
  102.     /* novy kod - konec! */
  103.    
  104.    j=fileurl.lastIndexOf('/',j);
  105.  
  106.   return fileurl.substring(0,j+1); // adresar
  107. }
  108.  
  109. public final static String getExt(String url)
  110. {
  111.    /* new code (from smart cache) */
  112.    
  113.    byte v[];
  114.    int j=url.length();
  115.    int st=url.indexOf("://");
  116.    
  117.    v=new byte[j];
  118.    int end=j;
  119.    int start=-1;
  120.    url.getBytes(0,j,v,0);
  121.    loop1:for(int zz=st+3;zz<j;zz++)
  122.     {
  123.       switch(v[zz])
  124.       {
  125.         case 0x3b: // ;
  126.         case 0x3a: // :
  127.         case 0x3d: // =
  128.         case 0x3f: // ?
  129.                     // end=zz;break loop1;
  130.                     return "query";
  131.         case 0x2f: // /
  132.             start=-1;break;
  133.         case 0x2e: // .
  134.             start=zz+1;break;
  135.       }
  136.     }
  137.     if(start==-1) return "none";
  138.        else
  139.         return url.substring(start,end);
  140. }
  141.  
  142. }/* end class */
  143.