1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.apache.commons.id.uuid.state; 19 20 import java.util.HashSet; 21 import java.util.Set; 22 23 /** 24 * <p>The <code>InMemoryStateImpl</code> is an implementation of the 25 * <code>State</code> interface.</p> 26 * <p>This implementation is the <b>worst-case</b> scenario and provides 27 * the least guarantee of no UUID duplication. This implementation is provided for 28 * systems that truly have no other means of writing to or reading from stable 29 * storage.</p> 30 * 31 * @author Commons-Id team 32 * @version $Id: InMemoryStateImpl.java 480488 2006-11-29 08:57:26Z bayard $ 33 */ 34 public class InMemoryStateImpl implements State { 35 36 /** The nodes to return from the <code>State</code> implementation */ 37 private static HashSet nodes = new HashSet(1); 38 39 /** 40 * @see org.apache.commons.id.uuid.state.State#load() 41 */ 42 public void load() { 43 Node one = new Node(StateHelper.randomNodeIdentifier()); 44 nodes.add(one); 45 } 46 47 /** 48 * @see org.apache.commons.id.uuid.state.State#getNodes() 49 */ 50 public Set getNodes() { 51 return nodes; 52 } 53 54 /** 55 * @see org.apache.commons.id.uuid.state.State#store(Set) 56 */ 57 public void store(Set nodesCollection) { 58 // Nothing to do - this is the worse case senerio since with no 59 // peristent storage. 60 return; 61 } 62 63 /** 64 * @see org.apache.commons.id.uuid.state.State#store(Set, long) 65 */ 66 public void store(Set nodesCollection, long timestamp) { 67 // Nothing to do - this is the worse case senerio since with no 68 // peristent storage. 69 return; 70 } 71 72 /** 73 * @see State#getSynchInterval 74 */ 75 public long getSynchInterval() { 76 return Long.MAX_VALUE; 77 } 78 }