
org.nakedobjects.applib.fixtures.AbstractFixture Maven / Gradle / Ivy
package org.nakedobjects.applib.fixtures;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.nakedobjects.applib.AbstractContainedObject;
import org.nakedobjects.applib.clock.Clock;
import org.nakedobjects.applib.switchuser.SwitchUserService;
import org.nakedobjects.applib.switchuser.SwitchUserServiceAware;
/**
* Convenience class for creating fixtures.
*
*
* Most subclasses will simply override {@link #install()} to setup objects. In addition though
* fixtures may also:
*
* - change the date/time within the course of fixture installation, using {@link #setDate(int, int, int)} and
* {@link #setTime(int, int)}.
*
- change the current user using {@link #switchUser(String, String...)}.
*
- create composite fixtures using {@link #addFixture(Object)}.
*
- search for existing objects using {@link #firstMatch(Class, org.nakedobjects.applib.Filter)} or
* {@link #uniqueMatch(Class, org.nakedobjects.applib.Filter)} (and various overloads thereof).
*
*
*
* To automatically logon for the demo/test, use
*/
public abstract class AbstractFixture extends AbstractContainedObject implements InstallableFixture, CompositeFixture, SwitchUserServiceAware {
private final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy