org.axonframework.common
Class IdentifierValidator

java.lang.Object
  extended by org.axonframework.common.IdentifierValidator

public final class IdentifierValidator
extends Object

Validates the structure of an object passed as Aggregate Identifier. These objects need to (properly) override the toString method. Two equal identifiers must always produce the same toString values, even between JVM restarts. Typically, this also means equals and hashCode need to be implemented.

For optimization purposes, this validator keeps a white-list of all aggregate types that have passed validation. This reduces the amount of reflection for types that have been already inspected.

Since:
2.0
Author:
Allard Buijze

Method Summary
static IdentifierValidator getInstance()
          Returns the singleton instance of the IdentifierValidator.
 boolean isValidIdentifier(Class<?> identifierType)
          Indicates whether or not the given identifierType is safe to use as aggregate identifier
static void validateIdentifier(Class<?> aggregateIdentifierType)
          Verifies whether the given aggregateIdentifier complies with the toString requirements and throws IllegalArgumentException if that is not the case.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static IdentifierValidator getInstance()
Returns the singleton instance of the IdentifierValidator.

Returns:
the IdentifierValidator instance

validateIdentifier

public static void validateIdentifier(Class<?> aggregateIdentifierType)
Verifies whether the given aggregateIdentifier complies with the toString requirements and throws IllegalArgumentException if that is not the case.

If a mere boolean is required, consider using getInstance().isValidIdentifier(Class).

Parameters:
aggregateIdentifierType - The identifier to validate

isValidIdentifier

public boolean isValidIdentifier(Class<?> identifierType)
Indicates whether or not the given identifierType is safe to use as aggregate identifier

Parameters:
identifierType - The class of the identifier
Returns:
true if the identifier is valid, false otherwise


Copyright © 2010-2016. All Rights Reserved.