Package hu.sztaki.ilab.longneck.process.constraint

Source Code of hu.sztaki.ilab.longneck.process.constraint.EntityReference

package hu.sztaki.ilab.longneck.process.constraint;

import hu.sztaki.ilab.longneck.Record;
import hu.sztaki.ilab.longneck.process.AbstractReference;
import hu.sztaki.ilab.longneck.process.VariableSpace;
import hu.sztaki.ilab.longneck.process.mapping.MappedRecord;

/**
*
* @author Molnár Péter <molnarp@sztaki.mta.hu>
*/
public class EntityReference extends AbstractReference implements Entity  {
   
    /** Referred entity instance. */
    private Entity referredEntity = null;

    @Override
    public CheckResult check(Record record, VariableSpace scope) {
        if (mapping.hasRules()) {
            Record mapped = new MappedRecord(record, mapping);
            return referredEntity.check(mapped, scope);
        }
       
        return referredEntity.check(record, scope);
       
    }

    @Override
    public EntityReference clone() {
        EntityReference copy = (EntityReference) super.clone();
        copy.mapping = mapping.clone();

        return copy;
    }

    public Entity getReferredEntity() {
        return referredEntity;
    }

    public void setReferredEntity(Entity referredEntity) {
        this.referredEntity = referredEntity;
    }
}
TOP

Related Classes of hu.sztaki.ilab.longneck.process.constraint.EntityReference

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.