DefaultNamespacedEntityId implements NamespacedEntityId { public static NamespacedEntityId of(final CharSequence entityId) { if (entityId instanceof DefaultNamespacedEntityId) { return (NamespacedEntityId) entityId; } if (entityId instanceof NamespacedEntityId) { final String namespace = ((NamespacedEntityId) entityId).getNamespace(); final String name = ((NamespacedEntityId) entityId).getName(); return new DefaultNamespacedEntityId(namespace, name, false); } return new DefaultNamespacedEntityId(entityId); } private  DefaultNamespacedEntityId(final String namespace, final String name, final boolean shouldValidate); private  DefaultNamespacedEntityId(@Nullable final CharSequence entityId); static NamespacedEntityId of(final CharSequence entityId); static NamespacedEntityId fromName(final String entityName); static NamespacedEntityId of(final String namespace, final String name); static NamespacedEntityId dummy(); @Override boolean isDummy(); @Override String getName(); @Override String getNamespace(); @Override boolean equals(@Nullable final Object o); @Override int hashCode(); @Override String toString();  }
@Test public void defaultNamespacedEntityIdFromDefaultNamespacedEntityIdIsSameInstance() { final NamespacedEntityId namespacedEntityIdOne = DefaultNamespacedEntityId.of(VALID_NAMESPACE, VALID_NAME); final NamespacedEntityId namespacedEntityIdTwo = DefaultNamespacedEntityId.of(namespacedEntityIdOne); assertThat((CharSequence) namespacedEntityIdOne).isSameAs(namespacedEntityIdTwo); }
@Test public void nullId() { assertThatExceptionOfType(NamespacedEntityIdInvalidException.class) .isThrownBy(() -> DefaultNamespacedEntityId.of(null)); }
@Test public void nullNamespace() { assertThatExceptionOfType(NamespacedEntityIdInvalidException.class) .isThrownBy(() -> DefaultNamespacedEntityId.of(null, VALID_NAME)); }