APTで生成したソースコードの上書きを抑制できないかなぁ

Java6にはGenertedという名前のアノテーション(javax.annotation.Generated)があり、ツールが生成したコードにはこのアノテーションでマークすることが推奨されている。(date属性はISO 8601 規格に準拠する必要がある)

@Generated(
       value={"org.kazzz.annotation.XmlAutoBeanAnnotationProcessor"}
     , date="2010-12-21T18:33:26+0900")
public class HogeDto extends AbstractDto {

このアノテーション自体は処理するツールが認識するものであり、それ自体決まった使い方がある訳ではない。(というか私は知らない)また、AndroidはJava1.5のサブセット相当のAPIしか実装されておらず、Java6から追加されたGeneratedアノテーションも存在しない。

このマーカブルなアノテーションを見ていてふと思いついたのだが、任意のアノテーションが記述されたソースコードに対して次回のアノテーション処理時にそれが上書きしても良いファイルなのか否かをチェックできないものだろうか。

具体的にはAPTに生成されたコードであっても後にマニュアルでfleezeアノテーションが付加されたならば、アノテーションプロセッサはその後ファイルの上書きを禁止する。

@Fleeze
public class HogeDto extends AbstractXmlDto {

うーん、でもAPT中でJavaソースコードを扱うのはFilerオブジェクトであり、これによって生成されるファイルの名前は分るものの、そのファイルに中にFleezeアノテーションが書かれているかどうかは解らないのか。

思いつきだなぁ。