逻辑层(控制层)处理数据的地方

来源:互联网 发布:天猫的数据魔方在哪里 编辑:程序博客网 时间:2024/06/03 19:09
package cn.hncu.addr.business;


import cn.hncu.addr.dao.AddressFile;




public class AddressBusiness {
final String FILE_NAME="data.ini";
static Object[] objs=new Object[0];
public boolean add(Objectobj){
if(contain(obj)){
return false;
}
Object tmps[]=new Object[objs.length+1];
System.arraycopy(objs, 0, tmps, 0, objs.length);
tmps[tmps.length-1]=obj;
objs=tmps;
return save();


}
public boolean contain(Object obj){
if (!isEmpty()) {
for (Object o : objs) {
System.out.println(objs.length);
print();
if (o.equals(obj)) {
return true;
}
}
}
return false;
}
public boolean isEmpty(){
if(objs==null||objs.length<=0){
return true;
}
return false;
}
public Object[] getAll(){
objs=AddressFile.readFromFile(FILE_NAME);
return objs;
}
public boolean update(Object o1,Object o2){
if (!isEmpty()) {
for (int i = 0; i < objs.length; i++) {
if (objs[i].toString().equals(o1.toString())) {
objs[i]=o2;
}
}
return save();
}
return false;


}
public void print(){
for(Object o:objs){
System.out.println(o.toString());
}
}
public boolean delete(Object obj) {
if(!contain(obj)){
return false;
}
int k=0;
Object[] tempObjs=new Object[objs.length-1];
for(int i=0;i<objs.length;i++){
if(!objs[i].equals(obj)){
tempObjs[k++]=objs[i];
}
}
objs=tempObjs;
return save();


}
public Object[] query(String name, String sex, String age, String address, String tel) {
Object[] tempObjs = new Object[objs.length];
int k=0;
for(int i=0;i<objs.length;i++){
String objStr=(String) objs[i];
String[] str=objStr.split(",");


if(name!=null && name.trim().length()>0){
if(!str[0].trim().contains(name)){
continue;
}
}
if(sex!=null&sex.trim().length()>0){
if(!str[1].trim().equals(sex)){
continue;
}
}
if(age!=null && age.trim().length()>0){
if(!str[2].trim().contains(age)){
continue;
}
}
if(address!=null && address.trim().length()>0){
if(!str[3].trim().contains(address)){
continue;
}
}
if(tel!=null && tel.trim().length()>0){
if(!str[3].trim().contains(tel)){
continue;
}
}

tempObjs[k++]=objs[i];
}
Object[] tempObjs2=new Object[k];
for(int i=0;i<k;i++){
tempObjs2[i]=tempObjs[i];
}
return tempObjs2;


}

public boolean save(){
boolean result=AddressFile.writeToFile(FILE_NAME,objs);
if(result==false){
System.out.println("数据储存失败");
return false;
}
return true;
}
}

0 0