Package com.strobel.core
Class Freezable
- java.lang.Object
-
- com.strobel.core.Freezable
-
- All Implemented Interfaces:
IFreezable
- Direct Known Subclasses:
AstNode
,ConstantPool
,MethodBody
,VariableReference
public abstract class Freezable extends java.lang.Object implements IFreezable
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
_isFrozen
-
Constructor Summary
Constructors Constructor Description Freezable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canFreeze()
void
freeze()
protected void
freezeCore()
void
freezeIfUnfrozen()
boolean
isFrozen()
boolean
tryFreeze()
protected void
verifyFrozen()
protected void
verifyNotFrozen()
-
-
-
Method Detail
-
canFreeze
public boolean canFreeze()
- Specified by:
canFreeze
in interfaceIFreezable
-
isFrozen
public final boolean isFrozen()
- Specified by:
isFrozen
in interfaceIFreezable
-
freeze
public final void freeze() throws java.lang.IllegalStateException
- Specified by:
freeze
in interfaceIFreezable
- Throws:
java.lang.IllegalStateException
-
freezeCore
protected void freezeCore()
-
verifyNotFrozen
protected final void verifyNotFrozen()
-
verifyFrozen
protected final void verifyFrozen()
-
tryFreeze
public final boolean tryFreeze()
- Specified by:
tryFreeze
in interfaceIFreezable
-
freezeIfUnfrozen
public final void freezeIfUnfrozen() throws java.lang.IllegalStateException
- Specified by:
freezeIfUnfrozen
in interfaceIFreezable
- Throws:
java.lang.IllegalStateException
-
-