javassist

    6

    1答えて

    コアJDK 5クラスのメソッドに「insertBefore」を追加します。なんらかの理由でうまくいかない。ここでは、コードの例を示します。 ClassPool pool = ClassPool.getDefault(); CtClass ctClass = pool.get("com.sun.org.apache.xerces.internal.impl.xs.XSMessageFormatte

    15

    3答えて

    私は、このクラスの署名 c.getSignature(); を出ししようとしているとき、私は私が私が public Echo()V を取得する本当の方法 CtConstructor c = CtNewConstructor.make (argTypes, null, newClass); を持っていないJavassistの持つコンストラクタを作成しました「V」は何を意味しているのですか

    2

    2答えて

    私は "オンザフライ"で生成されたバイトコードを検証しようとしています!私はすでに1つの試みは他のEclipseのコンパイラとランタイムで私のクラスをコンパイルしたいくつかの試みを、持っていた は、ここで述べたように、メモリからコンパイルすることでした: Compile From Memory 最初の結果は大丈夫だったが、私はよ検証プロセスがJAVA 6のガイドラインやセキュリティ測定値、さらには

    0

    1答えて

    私はjavassistプロキシを逆コンパイルして、実際にProxyFactory.makeForwarderが何をするのか理解したいと思います。 CtClassのOutputStreamにクラスバイトコードを書くことは可能ですが、ProxyFactory.createClass()で始まる場合はCtClassを作成する方法を理解できません.Hibernateがjavassistをどのように使用する

    10

    2答えて

    私はJavassistを使用して、クラスがロードされるときに動的に操作しています。メソッドにコードを追加するのは比較的簡単ですが、にはコードを削除する方法がありません。 現時点では、nop命令を使用して、コードの削除をシミュレートして、ターゲットのオペコードとパラメータを置き換えます。しかし、私はほとんどハックになるこのことを考慮してください。 各オペコードは、パラメータのバイト長が異なるため、別

    2

    1答えて

    私はjavassist.util.proxy.ProxyFactoryを使用してプロジェクトにプロキシを作成しています。そしてコードの他の部分では、オブジェクトがプロキシされているかどうかを確認したいと思っています。 私の質問です:オブジェクトがプロキシかどうかをチェックする方法はありますか? 例えば、私はクラスUserを持っています。私はそれをプロキシオブジェクトにすると、デバッガではクラスはU

    0

    2答えて

    エンハンサーを使用してCGLibでプロキシを作成する場合は、.setNamingPolicy(NamingPolicy n)を呼び出して、プロキシクラスの命名方法をCGLibのデフォルト以外に変更できます。 ProxyFactoryを使用するときにJavassistで同様のことをする方法はありますか?

    1

    1答えて

    皆さん。 私はクラスファイルを持っています。 public class ClsSync { public synchronized void biat(){ } } 私はJavassistのを使用して、それを実装することができ public void biat(){ // delete the synchronized keyword } にそれを変更したいですか

    3

    1答えて

    Javassistを使用して、ソースが管理できないJavaクラス(Java 1.6.0_26-b03、Javassist 3.16.1-GA)を計測したいと考えています。 私はJavassistに比較的新しいですが、その背後にある概念を知っていると思います。私はそれについて多くを読んだが、多分私は何かを逃した。 ファイルParentPrivateMethodInstrumentingTest.ja

    1

    1答えて

    私のモデルクラスへのCtClass参照を取得しようとしています。私は最も簡単なバージョン ClassPool.getDefault().get(className);で始まり、うまくいきました。しかし、私のマシンでのみ。サーバー上では動作しません。 とにかく、Playframeworkはクラスをtmp/classに保存しているので、バージョンは機能しないはずです。だから今私はこのバージョンで完了: