package org.lightadmin.config;
import org.lightadmin.api.config.annotation.Administration;
import org.lightadmin.api.config.builder.*;
import org.lightadmin.api.config.unit.*;
import org.lightadmin.api.config.utils.DomainTypePredicates;
import org.lightadmin.test.model.TestCustomer;
import org.lightadmin.test.scope.DeleteTestSpecification;
import org.lightadmin.test.scope.DummySpecification;
import static org.lightadmin.api.config.utils.ScopeMetadataUtils.*;
@SuppressWarnings("unused")
@Administration(TestCustomer.class)
public class CustomerTestEntityConfiguration {
public static EntityMetadataConfigurationUnit configuration(EntityMetadataConfigurationUnitBuilder configurationBuilder) {
return configurationBuilder.nameField("firstname").pluralName("Test Customers Domain").build();
}
public static ScreenContextConfigurationUnit screenContext(ScreenContextConfigurationUnitBuilder screenContextBuilder) {
return screenContextBuilder.screenName("Administration of Test Customers Administration").build();
}
public static FieldSetConfigurationUnit listView(final FieldSetConfigurationUnitBuilder listViewBuilder) {
return listViewBuilder.field("firstname").caption("First Name").field("lastname").caption("Last Name").field("emailAddress").caption("Email Address").build();
}
public static ScopesConfigurationUnit scopes(final ScopesConfigurationUnitBuilder scopeBuilder) {
return scopeBuilder.scope("All", all()).defaultScope().scope("Buyers", filter(DomainTypePredicates.alwaysTrue())).scope("Sellers", specification(new DummySpecification())).scope("DeletionTest", specification(new DeleteTestSpecification())).build();
}
public static FiltersConfigurationUnit filters(final FiltersConfigurationUnitBuilder filterBuilder) {
return filterBuilder.filter("First Name", "firstname").filter("Last Name", "lastname").filter("Email Address", "emailAddress").build();
}
}