1 22 23 24 package com.mchange.v2.holders; 25 26 import java.io.*; 27 import com.mchange.v2.ser.UnsupportedVersionException; 28 29 public class SynchronizedIntHolder implements ThreadSafeIntHolder, Serializable 30 { 31 transient int value; 32 33 public SynchronizedIntHolder( int value ) 34 { this.value = value; } 35 36 public SynchronizedIntHolder() 37 { this(0); } 38 39 public synchronized int getValue() 40 { return value; } 41 42 public synchronized void setValue(int value) 43 { this.value = value; } 44 45 public synchronized void increment() 46 { ++value; } 47 48 public synchronized void decrement() 49 { --value; } 50 51 static final long serialVersionUID = 1; private final static short VERSION = 0x0001; 54 55 private void writeObject(ObjectOutputStream out) throws IOException 56 { 57 out.writeShort(VERSION); 58 out.writeInt(value); 59 } 60 61 private void readObject(ObjectInputStream in) throws IOException 62 { 63 short version = in.readShort(); 64 switch (version) 65 { 66 case 0x0001: 67 this.value = in.readInt(); 68 break; 69 default: 70 throw new UnsupportedVersionException(this, version); 71 } 72 } 73 } 74 | Popular Tags |