View Javadoc
1 /* 2 * Copyright (C) The JContainer Group. All rights reserved. 3 * 4 * This software is published under the terms of the JContainer 5 * Software License version 1.1, a copy of which has been included 6 * with this distribution in the LICENSE.txt file. 7 */ 8 package org.jcontainer.dna.impl; 9 10 /*** 11 * Abstract utility class for resources that can be "frozen" 12 * and made read-only after being constructed. 13 * 14 * @version $Revision: 1.6 $ $Date: 2003/09/23 10:14:46 $ 15 */ 16 abstract class AbstractFreezable 17 implements Freezable 18 { 19 /*** 20 * Flag indicating whether resource has been 21 * made read-only yet. 22 */ 23 private boolean m_readOnly; 24 25 /*** 26 * Mark the resource as read only. 27 */ 28 public void makeReadOnly() 29 { 30 m_readOnly = true; 31 } 32 33 /*** 34 * Check if the resource has been "frozen" 35 * and thus is read only. If read-only then 36 * throw an IllegalStateException. 37 * 38 * @throws IllegalStateException if resource is read-only 39 */ 40 protected final void checkWriteable() 41 { 42 if( m_readOnly ) 43 { 44 final String message = 45 "Resource (" + this + ") is read only and can not be modified"; 46 throw new IllegalStateException( message ); 47 } 48 } 49 50 /*** 51 * Return true if resource has been made read-only or frozen. 52 * 53 * @return true if resource has been made read-only or 54 * frozen, false otherwise. 55 */ 56 protected final boolean isReadOnly() 57 { 58 return m_readOnly; 59 } 60 }

This page was automatically generated by Maven