Ver Fonte

javadoc

Ranides Atterwim há 13 anos atrás
pai
commit
d870388f89
1 ficheiros alterados com 14 adições e 1 exclusões
  1. 14 1
      src/main/java/net/ranides/assira/enums/EnumInt.java

+ 14 - 1
src/main/java/net/ranides/assira/enums/EnumInt.java

@@ -7,11 +7,24 @@
 package net.ranides.assira.enums;
 
 /**
- *
+ * Interfejs, który może być implentowany przez typy enum. Pozwala każdej wartości
+ * {@code enum} przypisać wartość liczbową, która może być np traktowana jako 
+ * unikalny klucz identyfikujący stałą. Interfejs używany np w klasie {@link EnumUtils}
  * @author ranides
  */
 public interface EnumInt {
     
+    /**
+     * Zwraca wartość liczbową, która jest powiązana ze stałą zdefiniowaną w klasie
+     * {@code enum}. Nie istnieją formalne wymagania względem zwracanej wartości,
+     * ale mile widziane jest, aby każda stała zwracała inną wartość - a najlepiej
+     * jeszcze, aby każda stała zwracała liczbę, która ma ustawiony inny bit.
+     * Wtedy {@code enum} może być potraktowana jako bezpieczna maska bitowa. 
+     * Bardzo podobną funkcjonalność oferuje klasyczny kontener EnumSet, ale w nim
+     * nie mamy kontroli nad tym, który bit jest powiązany z którą stałą.
+     * 
+     * @return 
+     */
     int toEnumKey();
     
 }