$search
00001 00004 package javax.jmdns.impl.constants; 00005 00011 public enum DNSLabel { 00015 Unknown("", 0x80), 00019 Standard("standard label", 0x00), 00023 Compressed("compressed label", 0xC0), 00027 Extended("extended label", 0x40); 00028 00032 static final int LABEL_MASK = 0xC0; 00033 static final int LABEL_NOT_MASK = 0x3F; 00034 00035 private final String _externalName; 00036 00037 private final int _index; 00038 00039 DNSLabel(String name, int index) { 00040 _externalName = name; 00041 _index = index; 00042 } 00043 00049 public String externalName() { 00050 return _externalName; 00051 } 00052 00058 public int indexValue() { 00059 return _index; 00060 } 00061 00066 public static DNSLabel labelForByte(int index) { 00067 int maskedIndex = index & LABEL_MASK; 00068 for (DNSLabel aLabel : DNSLabel.values()) { 00069 if (aLabel._index == maskedIndex) return aLabel; 00070 } 00071 return Unknown; 00072 } 00073 00078 public static int labelValue(int index) { 00079 return index & LABEL_NOT_MASK; 00080 } 00081 00082 @Override 00083 public String toString() { 00084 return this.name() + " index " + this.indexValue(); 00085 } 00086 00087 }