<div sclass="ine_div rdg">
<label sclass="itm_lab" value=" 权限 :" />
<checkbox id="l1" label="读>
<checkbox id="l2" label="写>
<checkbox id="l3" label="执行>
</div>
--------------------------------------------
public static class FilePermission{
public final static int READ = 4;
public final static int WRITE = 2;
public final static int EXECUTE = 1;
private int value = 0;
private int mask = 7;
public FilePermission(){
this(0);
}
public FilePermission(int value){
this.value = value;
}
public int getValue(){
return value;
}
public void setValue(int value){
this.value = value;
}
@JsonIgnore
public boolean getCanRead(){
return (this.value & READ) > 0;
}
public void setCanRead(boolean read){
this.value = mask & ~READ & value | (read ? READ : 0 );
}
@JsonIgnore
public boolean getCanWrite(){
return (this.value & WRITE) > 0;
}
public void setCanWrite(boolean write){
this.value = mask & ~WRITE & value | (write ? WRITE : 0 );
}
@JsonIgnore
public boolean getCanExecute(){
return (this.value & EXECUTE) > 0;
}
public void setCanExecute(boolean execute){
this.value = mask & ~EXECUTE & value | (execute ? EXECUTE : 0 );
}
}
private List<Host> items = new ArrayList<Host>();
private String fileName;
private String token;
private String path;
private String group;
private FilePermission perm = new FileCopyOrderContent.FilePermission(0);
public List<Host> getItems() {
return items;
}
public void setItems(List<Host> items) {
this.items = items;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public FilePermission getPerm() {
return perm;
}
public void setPerm(FilePermission perm) {
this.perm = perm;
}
@Override
public String getUrl() {
// TODO Auto-generated method stub
return UrlUtils.FILE_COPY;
}
java的位运算参考博客:并对作者表示感谢
http://www.cnblogs.com/zhengtao/articles/1916751.html
java的序列化反序列化
我们都知道,当我们new一个对象的时候,Java就会在内存中创建一个相应的对象供我们后续使用。如果我们把这个Java程序关掉的话,那么这个对象也就随着我们程序的关闭而消失,如何才能在这种情况下继续保存这个对象呢?这就是Java序列化要做的事情。简单地说,Java对象列化就是要把内存中的Java对象保存下来(持久化),以便可以在网络上传输或今后继续使用这个对象中的数据。
那么对象序列化到底做了哪些事呢?其实很简单,一个对象对于我们来说的意义其实就是对象里保存的那些数据,序列化就是把这些数据转换成二进制表示的对象流,你可以把它通过网络传输到远程,当然,也可以把这些信息保存在本地的文件里。下面给出一个最简单的Java的序列化与反序列化的例子,看懂这个例子,相信你应该也能跟我一样,大概理解这是怎么一回事了。
首先是一个Peraon类:
Person.java
WritePerson.java
那我们要怎么才能看懂这些二进制数据呢?这就要用到我们的反序列化了。反序列化就是要把序列化后的二进制数据反向解析成可以正常使用的Java对象。现在让我们来把刚才的那个对象反序列化一下吧:
ReadPerson.java