jtopenlite.com.ibm.jtopenlite.file.FileHandle Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400-jdk9 Show documentation
Show all versions of jt400-jdk9 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpenLite
//
// Filename: FileHandle.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 2011-2012 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.jtopenlite.file;
public final class FileHandle implements Comparable
{
public static final int OPEN_READ_ONLY = 1;
public static final int OPEN_WRITE_ONLY = 2;
public static final int OPEN_READ_WRITE = 3;
public static final int SHARE_ALL = 0;
public static final int SHARE_WRITE = 1;
public static final int SHARE_READ = 2;
public static final int SHARE_NONE = 3;
private String name_;
private int openType_;
private int share_;
private boolean open_;
private int handle_;
private long id_;
private int dataCCSID_;
private long created_;
private long modified_;
private long accessed_;
private long size_;
private int version_;
private int lastStatus_;
private long currentOffset_ = 0;
private boolean symlink_;
private boolean directory_;
private String path_;
private FileHandle()
{
}
public static FileHandle createEmptyHandle()
{
return new FileHandle();
}
public boolean equals(Object obj)
{
if (obj != null && obj instanceof FileHandle)
{
FileHandle h = (FileHandle)obj;
return h.handle_ == this.handle_ &&
h.id_ == this.id_ &&
h.size_ == this.size_ &&
((h.getPath() == null && this.getPath() == null) ||
(h.getPath() != null && this.getPath() != null && h.getPath().equals(this.getPath())));
}
return false;
}
public int hashCode()
{
return getPath() == null ? super.hashCode() : getPath().hashCode();
}
public int compareTo(FileHandle h)
{
String p1 = this.getPath();
String p2 = h.getPath();
if (p1 == null && p2 == null) return 0;
if (p1 == null) return -1;
if (p2 == null) return 1;
return p1.compareTo(p2);
}
void setSymlink(boolean b)
{
symlink_ = b;
}
public boolean isSymlink()
{
return symlink_;
}
void setDirectory(boolean b)
{
directory_ = b;
}
public boolean isDirectory()
{
return directory_;
}
void setPath(String path)
{
path_ = path;
}
public String getPath()
{
return path_ == null ? name_ : path_;
}
/**
* Returns the current byte offset in the file where the next read or write operation will take place.
**/
public long getOffset()
{
return currentOffset_;
}
/**
* Sets the byte offset in the file for the next read or write operation; the offset is automatically
* incremented after normal read or write operations.
**/
public void setOffset(long offset)
{
currentOffset_ = offset;
}
void setShareOption(int share)
{
share_ = share;
}
public int getShareOption()
{
return share_;
}
void setOpenType(int type)
{
openType_ = type;
}
public int getOpenType()
{
return openType_;
}
void setOpen(boolean b)
{
open_ = b;
}
public boolean isOpen()
{
return open_;
}
void setName(String name)
{
name_ = name;
}
public String getName()
{
return name_;
}
void setHandle(int handle)
{
handle_ = handle;
}
int getHandle()
{
return handle_;
}
void setID(long id)
{
id_ = id;
}
long getID()
{
return id_;
}
void setDataCCSID(int ccsid)
{
dataCCSID_ = ccsid;
}
public int getDataCCSID()
{
return dataCCSID_;
}
void setCreateDate(long d)
{
created_ = d;
}
public long getTimestampCreated()
{
return created_;
}
void setModifyDate(long d)
{
modified_ = d;
}
public long getTimestampModified()
{
return modified_;
}
void setAccessDate(long d)
{
accessed_ = d;
}
public long getTimestampAccessed()
{
return accessed_;
}
void setSize(long s)
{
size_ = s;
}
public long getSize()
{
return size_;
}
void setVersion(int v)
{
version_ = v;
}
int getVersion()
{
return version_;
}
public int getLastStatus()
{
return lastStatus_;
}
void setLastStatus(int s)
{
lastStatus_ = s;
}
public String toString()
{
String path = getPath();
return path == null ? super.toString() : path;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy