jmultimethod

multimethods for Java using annotations
git clone https://logand.com/git/jmultimethod.git/
Log | Files | Refs | LICENSE

Multi.java (1850B)


      1 // Copyright (c) 2009, 2015 Tomas Hlavaty All rights reserved.
      2 
      3 // Redistribution and use in source and binary forms, with or without
      4 // modification, are permitted provided that the following conditions
      5 // are met:
      6 
      7 // Redistributions of source code must retain the above copyright
      8 // notice, this list of conditions and the following
      9 // disclaimer. Redistributions in binary form must reproduce the above
     10 // copyright notice, this list of conditions and the following
     11 // disclaimer in the documentation and/or other materials provided
     12 // with the distribution.
     13 
     14 // Neither the name of jmultimethod nor the names of its contributors
     15 // may be used to endorse or promote products derived from this
     16 // software without specific prior written permission.
     17 
     18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     21 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     22 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     23 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     24 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
     25 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     26 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     27 // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
     29 // OF THE POSSIBILITY OF SUCH DAMAGE.
     30 
     31 package jmultimethod;
     32 
     33 import java.lang.annotation.ElementType;
     34 import java.lang.annotation.Retention;
     35 import java.lang.annotation.RetentionPolicy;
     36 import java.lang.annotation.Target;
     37 
     38 @Target(ElementType.METHOD)
     39 @Retention(RetentionPolicy.RUNTIME)
     40 public @interface Multi {
     41     public String value();
     42 }