3 Stimmen

Spring LDAP ODM - Entry Klasse sollte als final deklariert werden Warnung

Ich habe eine kartierte Entry ("Entität") mit Spring LDAP ODM. Wenn ich Unit-Tests mit dieser Klasse ausführe, erhalte ich bei der Initialisierung eine Warnung in der Konsole:

Mar 9, 2012 2:32:40 PM org.springframework.ldap.odm.core.impl.ObjectMetaData <init>
WARNING: The Entry class Superhero should be declared final

Die abgebildete Klasse sieht folgendermaßen aus:

@Entry(objectClasses = {"batman", "superman", "spiderman", "dontworryaboutthese"})
public class Superhero {
    @Id
    @JsonIgnore
    private Name dn;
    ...

Ich kann über die Google-Suche nichts Relevantes zu dieser Warnung finden. Hier ist der Spring-Code, der dies protokolliert:

public ObjectMetaData(Class<?> clazz) {
    if (LOG.isDebugEnabled()) {
        LOG.debug(String.format("Extracting metadata from %1$s", clazz));
    }

    // Get object class metadata - the @Entity annotation
    Entry entity = (Entry)clazz.getAnnotation(Entry.class);
    if (entity != null) {
        // Default objectclass name to the class name unless it's specified
        // in @Entity(name={objectclass1, objectclass2});
        String[] localObjectClasses = entity.objectClasses();
        if (localObjectClasses != null && localObjectClasses.length > 0 && localObjectClasses[0].length() > 0) {
            for (String localObjectClass:localObjectClasses) {
                objectClasses.add(new CaseIgnoreString(localObjectClass));
            }
        } else {
            objectClasses.add(new CaseIgnoreString(clazz.getSimpleName()));
        }
    } else {
        throw new MetaDataException(String.format("Class %1$s must have a class level %2$s annotation", clazz,
                Entry.class));
    }

    // Check the class is final
    if (!Modifier.isFinal(clazz.getModifiers())) {
        LOG.warn(String.format("The Entry class %1$s should be declared final", clazz.getSimpleName()));
    }
    ...

Für jeden Einblick wären wir dankbar. Ich verstehe, dass das Deklarieren einer Klasse als endgültig bedeutet, dass es nicht erweitert werden kann, aber warum sollte Spring ODM kümmern?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X