
package de.ivu.elect.presentation;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.enterprise.util.Nonbinding;
import javax.inject.Qualifier;

import de.ivu.elect.business.security.UseCasePermission;


import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;

@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({TYPE, METHOD, FIELD, PARAMETER})
@Inherited
@Documented
public @interface View {

  @Nonbinding
  String viewId() default "";

  @Nonbinding
  UseCasePermission useCase() default UseCasePermission.UNSINN; // UNSINN als Default soll vor Fehlern beim Definieren schützen

}
