001package org.xbib.elasticsearch.action.websocket.pubsub; 002 003import org.elasticsearch.common.inject.BindingAnnotation; 004import org.elasticsearch.common.settings.Settings; 005 006import java.lang.annotation.Documented; 007import java.lang.annotation.Retention; 008import java.lang.annotation.Target; 009 010import static java.lang.annotation.ElementType.FIELD; 011import static java.lang.annotation.ElementType.PARAMETER; 012import static java.lang.annotation.RetentionPolicy.RUNTIME; 013 014/** 015 * Configuration for the pubsub index name. 016 */ 017@BindingAnnotation 018@Target({FIELD, PARAMETER}) 019@Retention(RUNTIME) 020@Documented 021public @interface PubSubIndexName { 022 023 static class Conf { 024 public static final String DEFAULT_INDEX_NAME = "pubsub"; 025 026 public static String indexName(Settings settings) { 027 return settings.get("pubsub.index_name", DEFAULT_INDEX_NAME); 028 } 029 } 030}