1 /* 2 * Copyright (C) 2005 Alfresco, Inc. 3 * 4 * Licensed under the Mozilla Public License version 1.1 5 * with a permitted attribution clause. You may obtain a 6 * copy of the License at 7 * 8 * http://www.alfresco.org/legal/license.txt 9 * 10 * Unless required by applicable law or agreed to in writing, 11 * software distributed under the License is distributed on an 12 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 13 * either express or implied. See the License for the specific 14 * language governing permissions and limitations under the 15 * License. 16 */ 17 package org.alfresco.repo.domain; 18 19 /** 20 * Represents a version count entity for a particular store. 21 * 22 * @author Derek Hulley 23 */ 24 public interface VersionCount 25 { 26 /** 27 * @return Returns the key for the version counter 28 */ 29 public StoreKey getKey(); 30 31 /** 32 * @param key the key uniquely identifying this version counter 33 */ 34 public void setKey(StoreKey key); 35 36 /** 37 * Increments and returns the next version counter associated with this 38 * store. 39 * 40 * @return Returns the next version counter in the sequence 41 * 42 * @see #getVersionCount() 43 */ 44 public int incrementVersionCount(); 45 46 /** 47 * Reset the store's version counter 48 */ 49 public void resetVersionCount(); 50 51 /** 52 * Retrieve the current version counter 53 * 54 * @return Returns a current version counter 55 * 56 * @see #incrementVersionCount() 57 */ 58 public int getVersionCount(); 59 } 60