package org.javersion.object.mapping; import java.util.Map; import javax.annotation.Nonnull; import org.javersion.reflect.*; public class DefaultMappingResolver implements MappingResolver { @Nonnull @Override public Result<MethodDescriptor> delegateValue(MethodDescriptor method) { return Result.notFound(); } @Nonnull @Override public <T extends StaticExecutable & ElementDescriptor> Result<StaticExecutable> creator(T methodOrConstructor) { if (methodOrConstructor instanceof ConstructorDescriptor) { ConstructorDescriptor constructor = (ConstructorDescriptor) methodOrConstructor; if (constructor.getParameters().isEmpty()) { return Result.of(constructor); } } return Result.notFound(); } @Nonnull @Override public Result<String> alias(TypeDescriptor type) { return Result.of(type.getSimpleName()); } @Nonnull @Override public Result<Map<TypeDescriptor, String>> subclasses(TypeDescriptor type) { return Result.notFound(); } @Nonnull @Override public Result<String> name(ParameterDescriptor parameter) { String name = parameter.getName(); if (name != null) { return Result.of(name); } return Result.notFound(); } }