/**
* Copyright (c) 2014-2017 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.evolveum.midpoint.model.impl.lens.projector;
import java.util.Collection;
import javax.xml.datatype.XMLGregorianCalendar;
import com.evolveum.midpoint.model.common.expression.ObjectDeltaObject;
import com.evolveum.midpoint.model.impl.lens.LensContext;
import com.evolveum.midpoint.model.impl.lens.LensElementContext;
import com.evolveum.midpoint.prism.ItemDefinition;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.PrismValue;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.xml.ns._public.common.common_3.FocusType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
/**
* @author semancik
*
*/
public class MappingEvaluatorParams<V extends PrismValue, D extends ItemDefinition, T extends ObjectType, F extends FocusType> {
private Collection<MappingType> mappingTypes;
private String mappingDesc;
private XMLGregorianCalendar now;
private MappingInitializer<V,D> initializer;
private MappingLoader<T> targetLoader;
private MappingOutputProcessor<V> processor;
private PrismObject<T> aPrioriTargetObject;
private ObjectDelta<T> aPrioriTargetDelta;
private LensElementContext<T> targetContext;
private ObjectDeltaObject<?> sourceContext;
private ItemPath defaultTargetItemPath;
// Only needed if defaultTargetItemPath == null
private D targetItemDefinition;
private Boolean evaluateCurrent;
private boolean evaluateWeak = true;
private LensContext<F> context;
private boolean hasFullTargetObject;
// If set to true then the target cannot be overridden in mapping
private boolean fixTarget = false;
public Collection<MappingType> getMappingTypes() {
return mappingTypes;
}
public void setMappingTypes(Collection<MappingType> mappingTypes) {
this.mappingTypes = mappingTypes;
}
public String getMappingDesc() {
return mappingDesc;
}
public void setMappingDesc(String mappingDesc) {
this.mappingDesc = mappingDesc;
}
public XMLGregorianCalendar getNow() {
return now;
}
public void setNow(XMLGregorianCalendar now) {
this.now = now;
}
public MappingInitializer<V,D> getInitializer() {
return initializer;
}
public void setInitializer(MappingInitializer<V,D> initializer) {
this.initializer = initializer;
}
public MappingLoader<T> getTargetLoader() {
return targetLoader;
}
public void setTargetLoader(MappingLoader<T> targetLoader) {
this.targetLoader = targetLoader;
}
public MappingOutputProcessor<V> getProcessor() {
return processor;
}
public void setProcessor(MappingOutputProcessor<V> processor) {
this.processor = processor;
}
public PrismObject<T> getAPrioriTargetObject() {
return aPrioriTargetObject;
}
public void setAPrioriTargetObject(PrismObject<T> aPrioriTargetObject) {
this.aPrioriTargetObject = aPrioriTargetObject;
}
public ObjectDelta<T> getAPrioriTargetDelta() {
return aPrioriTargetDelta;
}
public void setAPrioriTargetDelta(ObjectDelta<T> aPrioriTargetDelta) {
this.aPrioriTargetDelta = aPrioriTargetDelta;
}
public LensElementContext<T> getTargetContext() {
return targetContext;
}
public void setTargetContext(LensElementContext<T> targetContext) {
this.targetContext = targetContext;
}
public ObjectDeltaObject<?> getSourceContext() {
return sourceContext;
}
public void setSourceContext(ObjectDeltaObject<?> sourceContext) {
this.sourceContext = sourceContext;
}
public Boolean getEvaluateCurrent() {
return evaluateCurrent;
}
public void setEvaluateCurrent(Boolean evaluateCurrent) {
this.evaluateCurrent = evaluateCurrent;
}
public boolean isEvaluateWeak() {
return evaluateWeak;
}
public void setEvaluateWeak(boolean evaluateWeak) {
this.evaluateWeak = evaluateWeak;
}
public LensContext<F> getContext() {
return context;
}
public void setContext(LensContext<F> context) {
this.context = context;
}
public boolean hasFullTargetObject() {
return hasFullTargetObject;
}
public void setHasFullTargetObject(boolean hasFullTargetObject) {
this.hasFullTargetObject = hasFullTargetObject;
}
public ItemPath getDefaultTargetItemPath() {
return defaultTargetItemPath;
}
public void setDefaultTargetItemPath(ItemPath defaultTargetItemPath) {
this.defaultTargetItemPath = defaultTargetItemPath;
}
public boolean isFixTarget() {
return fixTarget;
}
public void setFixTarget(boolean fixTarget) {
this.fixTarget = fixTarget;
}
public D getTargetItemDefinition() {
return targetItemDefinition;
}
public void setTargetItemDefinition(D targetItemDefinition) {
this.targetItemDefinition = targetItemDefinition;
}
}