borrower.java
来自「socket连接池编程」· Java 代码 · 共 58 行
JAVA
58 行
import java.util.*;
public class Borrower extends StringAdapter{
static int Id=0;
private int id=Id++;
private List borrowBook=new ArrayList();// book borrowed
public void borrow(Book b)throws LibraryException{
boolean success=false;
try{
success=b.borrow(this.id);
}finally{
if(success)
borrowBook.add(b);
else
throw new LibraryException(" currently unavaliable");
}
//although no deadlock danger need to keep the data in pace
//eg: when another ClientGUI run on the same borrower for checkloan()
//will produce data interference
//althernative is to synchronize on borrower
}
public void retun(Book b)throws LibraryException{
boolean success=false;
try{
success=b.retun(this.id);
}finally{
if(success)
borrowBook.remove(b);
else
throw new LibraryException(" currently not borrowing");
}
}
public String checkLoan(){
String s="loan:\n"
+(adapt("bookid",20)+adapt("title",21)+adapt("borrower",23))+"\n";
for(int i=0;i<borrowBook.size();i++)
s+=borrowBook.get(i).toString()+"\n";
return s;
}
public String getId(){
return Integer.toString(id);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?