       1 /*
       2  * $Id$
       3  *
       4  * Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved.
       5  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       6  *
       7  * This code is free software; you can redistribute it and/or modify it
       8  * under the terms of the GNU General Public License version 2 only, as
       9  * published by the Free Software Foundation.  Oracle designates this
      10  * particular file as subject to the "Classpath" exception as provided
      11  * by Oracle in the LICENSE file that accompanied this code.
      12  *
      13  * This code is distributed in the hope that it will be useful, but WITHOUT
      14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      15  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      16  * version 2 for more details (a copy is included in the LICENSE file that
      17  * accompanied this code).
      18  *
      19  * You should have received a copy of the GNU General Public License version
      20  * 2 along with this work; if not, write to the Free Software Foundation,
      21  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
      22  *
      23  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
      24  * or visit www.oracle.com if you need additional information or have any
      25  * questions.
      26  */
      27 package com.sun.javatest.cof;
      28
      29 import java.util.HashMap;
      30 import java.util.Map;
      31
      32 class ID
      33 {
      34     static class Factory {
      35         ID create(String base) {
      36             Integer last = (Integer) (map.get(base));
      37             int index = (last == null ? 0 : last.intValue() + 1);
      38             map.put(base, new Integer(index));
      39             return new ID(base, index);
      40         }
      41
      42         Map map = new HashMap();
      43     };
      44
      45     private ID(String base, int index) {
      46         this.base = base;
      47         this.index = index;
      48     }
      49
      50     public String toString() {
      51         return (base + ":" + index);
      52     }
      53
      54     private String base;
      55     private int index;
      56 }
    --- EOF ---