package com.laytonsmith.annotations;
import com.laytonsmith.abstraction.Implementation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* This tag is to denote that a class is a implementation of a specific abstraction interface.
* This isn't always needed however, only when a reverse lookup may need to be done should
* this be needed.
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface abstraction {
Implementation.Type type();
}