All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nakedobjects.metamodel.adapter.NakedObject Maven / Gradle / Ivy

The newest version!
package org.nakedobjects.metamodel.adapter;

import org.nakedobjects.metamodel.adapter.oid.Oid;
import org.nakedobjects.metamodel.adapter.version.Version;


/**
 * Naked objects are adapters to domain objects, where the application is written in terms of domain objects
 * and those objects are represented within the NOF through these adapter, and not directly.
 * 
 * @see NakedObjectMM
 */
public interface NakedObject extends NakedObjectMM {

    /**
     * Returns the name of an icon to use if this object is to be displayed graphically.
     * 
     * 

* May return null if no icon is specified. */ String getIconName(); /** * Changes the 'lazy loaded' state of the domain object. * * @see ResolveState */ void changeState(ResolveState newState); /** * Checks the version of this adapter to make sure that it does not differ from the specified version. * * @throws ConcurrencyException * if the specified version differs from the version held this adapter. */ void checkLock(Version version); /** * The objects unique id. This id allows the object to added to, stored by, and retrieved from the object * store. */ Oid getOid(); /** * Determines what 'lazy loaded' state the domain object is in. * * @see ResolveState */ ResolveState getResolveState(); /** * Returns the current version of the domain object. */ Version getVersion(); /** * Sets the versions of the domain object. */ void setOptimisticLock(Version version); void fireChangedEvent(); /** * Whether this instance belongs to another object (meaning its {@link #getOid()} will * be AggregatedOid. */ boolean isAggregated(); } // Copyright (c) Naked Objects Group Ltd.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy