/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.core.config; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation for classes that represents a configuration item intended to be stored in a {@code ConfigMaster}. */ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE }) public @interface Config { /** * The class type to use for searching for the configuration item in a {@code ConfigMaster}. * <p> * Optional search type when it is different from base class */ Class<?> searchType() default Object.class; /** * A short description of the configuration to be used in GUIs. * <p> * This is typically an expansion of the class name. */ String description() default ""; /** * A way to categorize configurations to enable meaningful grouping used in GUIs. */ String group() default ConfigGroups.MISC; }