mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-06-25 22:53:22 +00:00
36 lines
777 B
Java
36 lines
777 B
Java
![]() |
package dan200.computercraft.core.apis.handles;
|
||
|
|
||
|
import dan200.computercraft.api.lua.ILuaObject;
|
||
|
import dan200.computercraft.api.lua.LuaException;
|
||
|
|
||
|
import java.io.Closeable;
|
||
|
import java.io.IOException;
|
||
|
|
||
|
public abstract class HandleGeneric implements ILuaObject
|
||
|
{
|
||
|
protected final Closeable m_closable;
|
||
|
protected boolean m_open = true;
|
||
|
|
||
|
public HandleGeneric( Closeable m_closable )
|
||
|
{
|
||
|
this.m_closable = m_closable;
|
||
|
}
|
||
|
|
||
|
protected void checkOpen() throws LuaException
|
||
|
{
|
||
|
if( !m_open ) throw new LuaException( "attempt to use a closed file" );
|
||
|
}
|
||
|
|
||
|
protected void close()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
m_closable.close();
|
||
|
m_open = false;
|
||
|
}
|
||
|
catch( IOException ignored )
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
}
|