は、私はTwitter4Jからオブジェクトを永続化する必要があります。 Twitter4JはJSONバージョンで実装されているインターフェースを使用しています。例:Twitter4JのImplクラスにアクセスするには? MongoDBのを使用して
APIはStatus
(インターフェイス)を返し、Status
はStatusJSONImpl
として実装されています。
私はMongoDBのにStatus
を保存することはできません、私はStatusJSONImpl
を実装する必要があります。
私の問題は、このクラスStatusJSONImpl
は公開されていません(see here)ので、私のコードで使用することはできません。
Status status = twitter.updateStatus(latestStatus);
String statusStringified = TwitterObjectFactory.getRawJSON(status);
StatusJSONImpl statusImplemented = (StatusJSONImpl) TwitterObjectFactory.createUserList(statusStringified);
SingletonLaunchDB.getMongo().save(statusImplemented);
しかし、私はまだ、実行時にクラス
StatusJSONImpl
に
java.lang.IllegalAccessError
を取得:私が行うことができます:私は手動で
StatusJSONImpl
に「
public
」を追加するTwitter4Jのソースをダウンロードしてみました。
私は、彼らが自分のコードでそれを使用するために行うのですか...ユーザーが日常このImplをクラスに他のユーザーを指していることother SA answersから参照してください?
お手数をおかけします。
は役に立たなかった私は申し訳ありません。私はStatusオブジェクトを取得する方法の詳細は無関係である、と私はとにかくビット[0]引数を必要としないので、私は、コマンドラインからの私のコードを実行しないでください。はい、私はTwitter4Jのクラスのダースを再実装することができますが、私の質問は、私がこの誤った取り組みを惜しまない方法についてです - より良い方法が必要です。 – seinecle
@seinecle私は答えを更新しました、それを確認してください。 –
それは明らかに、ありがとう!しかし、あなたが言及しているStatusSerializationTest.javaクラスは、StatusJSONImplと同じパッケージ内にあります。なぜなら、それがそのクラスにアクセスできる理由です。私のコードはもちろんTwitter4Jの外にあるので、StatusJSONImplにアクセスすることはできません。これには明らかな解決策がありますか? – seinecle