Changeset 13097 for lang/java/jduck

Show
Ignore:
Timestamp:
06/03/08 02:48:57 (5 years ago)
Author:
nobeans
Message:

テストにEclipse用のゆるいコードも載せるようにした。
Javadocコメントはjavacの硬いサンプルにした。
mavenで実行できるように、pom.xmlにコンパイル&テストの設定を追加した。

Location:
lang/java/jduck/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/java/jduck/trunk/pom.xml

    r13088 r13097  
    1616    </dependency> 
    1717  </dependencies> 
     18  <build> 
     19    <plugins> 
     20      <plugin> 
     21        <artifactId>maven-compiler-plugin</artifactId> 
     22        <version>RELEASE</version> 
     23        <configuration> 
     24          <source>1.5</source> 
     25          <target>1.5</target> 
     26          <encoding>UTF-8</encoding> 
     27        </configuration> 
     28      </plugin> 
     29    </plugins> 
     30  </build> 
    1831</project> 
  • lang/java/jduck/trunk/src/main/java/org/coderepos/lang/java/jduck/Inject.java

    r13088 r13097  
    1010import org.coderepos.lang.java.jduck.exception.InterfaceNotFoundRuntimeException; 
    1111 
    12  
    1312/** 
    1413 * 外部からインタフェースを注入したかのようにみせて、ダックタイピングを実現する。 
     
    2019 *  Inject.&lt;HogeMethod&gt;to(pojo).hoge(); 
    2120 *   
    22  *  MixMethod d = Inject.to(pojo); 
     21 *  MixMethod d = Inject.&lt;HogeMethod&gt;to(pojo); 
    2322 *  d.hoge(); 
    2423 *  d.mix(); 
  • lang/java/jduck/trunk/src/test/java/org/coderepos/lang/java/jduck/InjectTest.java

    r13088 r13097  
    5050 
    5151    /** 
    52      * 上と同じでこうもかける。 
    53      * なんかほら、画期的な香りがしない? 
     52     * 変数に受けてみる。上と同じでこうもかける。 
    5453     */ 
    55     public void testインタフェースをインジェクトする_変数で() throws Exception { 
     54    public void testインタフェースをインジェクトする_変数で_javac用() throws Exception { 
     55        HogeMethod h = Inject.<HogeMethod>to(pojo); 
     56        h.hoge(); 
     57 
     58        FooMethod f = Inject.<FooMethod>to(pojo); 
     59        f.foo("FOO!", 5555); 
     60 
     61        MixMethod d = Inject.<MixMethod>to(pojo); 
     62        d.mix(); 
     63        d.hoge(); 
     64        d.foo("Mixed FOO!", 5555); 
     65    } 
     66 
     67    /** 
     68     * こうかくと、なんかほら、画期的な香りがしない? 
     69     * ただし、Eclipseでコンパイルすると動くけど、 
     70     * 正規のjavacだと型エラーになっちゃうみたい...。残念。 
     71     */ 
     72    public void testインタフェースをインジェクトする_変数で_EclipseのコンパイラならこれでOK() throws Exception { 
    5673        HogeMethod h = Inject.to(pojo); 
    5774        h.hoge();