以下のサンプル コードで readObject() の実行後に readObject() 結合ポイントをアドバイスするアフター アドバイスから、読み取り文字列の値を取得しようとしています。
public class Eg {
private ObjectOutputStream output;
private ObjectInputStream input;
Public String request="";
public Eg(File source){
output; // output stream to client
input= new ObjectInputStream( file );
}
public void method() {
try{
while(true) {
request =(String) input.readObject();
//do something with request
}//while
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
そして私の側面:
public aspect ReadStringGetter {
public pointcut readOperation() :
execution(* java.io.ObjectInputStream.readObject());
after() : readOperation() {
Eg eg = (Eg) thisJoinPoint.getThis();
System.out.println(eg.request);
}
}