Toto pravidlo značí potenciální použití dvojitého lomítka "//" v doménové části konstruktorů javax.management.ObjectName. JSR 255 plánuje použít "//" v doménové části konstruktoru javax.management.ObjectName jako oddělovač pro "cascading". Zatímco JSR 255 není součástí Java SE 6, doporučuje se, aby doménová část ObjectName neobsahovala řetězec "//", aby se předešlo budoucím problémům s kompatibilitou.
ObjectNames jsou ve formě:
domain:key1=value1,key2=value2,key3=value3,*s proměnlivým počtem vlastností klíče.
Pokud daná aplikace obsahuje objekty typu MBean s názvy ObjectNames, které mají název domény s dvojitým lomítkem, bude třeba změnit název domény pro tyto objekty MBean.
Toto pravidlo kontroluje konstruktory ObjectName a pokud je to možné, kontroluje doménovou část řetězce, aby se ověřilo, že nejsou žádná dvojitá lomítka. Bude moci procházet konstruktory, které předávají řetězcové literály nebo finální řetězcovou proměnnou, která je definována ve stejné kompilační jednotce. Pokud může zkontrolovat název domény, označí pouze ty konstruktory, které poruší pravidlo.
Pravidlo také označí instance konstruktoru ObjectName, které mají název domény zakódovaný jako proměnná, která není okamžitě k dispozici pro kontrolu. Ručně zkontrolujte tyto instance a ověřte, že názvy domény neobsahují dvojité lomítko.
Příklad 1:
V Příkladu 1 pravidlo označí myObj1 a myObj3, protože tyto řetězce obsahují "//". myObj2 nebude označeno.
Příklad 2:
V příkladu 2 bude pravidlo označovat myObj2, ale ne myObj1.
Příklad 3:
V příkladu 3 bude označen myObj, protože kód nemůže určit název domény.
Další informace viz: