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

org.nakedobjects.metamodel.value.ValueUsingValueSemanticsProviderFacetFactory Maven / Gradle / Ivy

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

import org.nakedobjects.metamodel.config.NakedObjectConfiguration;
import org.nakedobjects.metamodel.config.NakedObjectConfigurationAware;
import org.nakedobjects.metamodel.facets.Facet;
import org.nakedobjects.metamodel.facets.FacetFactoryAbstract;
import org.nakedobjects.metamodel.facets.FacetUtil;
import org.nakedobjects.metamodel.facets.object.value.ValueFacetUsingSemanticsProvider;
import org.nakedobjects.metamodel.runtimecontext.RuntimeContext;
import org.nakedobjects.metamodel.runtimecontext.RuntimeContextAware;
import org.nakedobjects.metamodel.spec.feature.NakedObjectFeatureType;


public abstract class ValueUsingValueSemanticsProviderFacetFactory extends FacetFactoryAbstract implements RuntimeContextAware,
        NakedObjectConfigurationAware {

    private RuntimeContext runtimeContext;
    private NakedObjectConfiguration configuration;

    protected ValueUsingValueSemanticsProviderFacetFactory(final Class adapterFacetType) {
        super(NakedObjectFeatureType.OBJECTS_ONLY);
    }

    protected void addFacets(final ValueSemanticsProviderAbstract adapter) {
        ValueFacetUsingSemanticsProvider facet = new ValueFacetUsingSemanticsProvider(adapter, adapter, getRuntimeContext());
        FacetUtil.addFacet(facet);
    }

    // ////////////////////////////////////////////////////
    // Dependencies (injected via setter)
    // ////////////////////////////////////////////////////

    protected RuntimeContext getRuntimeContext() {
        return runtimeContext;
    }

    public void setRuntimeContext(final RuntimeContext runtimeContext) {
        this.runtimeContext = runtimeContext;
    }

    public void setNakedObjectConfiguration(NakedObjectConfiguration configuration) {
        this.configuration = configuration;
    }

    public NakedObjectConfiguration getConfiguration() {
        return configuration;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy