Skip to content

Commit

Permalink
Added delegators for refined definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
tonydamage committed May 26, 2021
1 parent 2a71216 commit 903d157
Show file tree
Hide file tree
Showing 5 changed files with 497 additions and 0 deletions.
@@ -0,0 +1,174 @@
package com.evolveum.midpoint.common.refinery.deleg;

import java.util.List;
import java.util.Map;
import java.util.function.Consumer;

import javax.xml.namespace.QName;

import com.evolveum.midpoint.common.refinery.PropertyLimitations;
import com.evolveum.midpoint.common.refinery.RefinedAttributeDefinition;
import com.evolveum.midpoint.prism.ComplexTypeDefinition;
import com.evolveum.midpoint.prism.ItemDefinition;
import com.evolveum.midpoint.prism.ItemProcessing;
import com.evolveum.midpoint.schema.processor.ResourceAttributeDefinition;
import com.evolveum.midpoint.schema.processor.deleg.AttributeDefinitionDelegator;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AttributeFetchStrategyType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AttributeStorageStrategyType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.LayerType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingType;

public interface RefinedAttributeDefinitionDelegator<T> extends AttributeDefinitionDelegator<T>, RefinedAttributeDefinition<T> {

@Override
RefinedAttributeDefinition<T> delegate();

@Override
default boolean isTolerant() {
return delegate().isTolerant();
}

@Override
default Boolean isSecondaryIdentifierOverride() {
return delegate().isSecondaryIdentifierOverride();
}

@Override
default boolean canAdd(LayerType layer) {
return delegate().canAdd(layer);
}

@Override
default boolean canRead(LayerType layer) {
return delegate().canRead(layer);
}

@Override
default boolean canModify(LayerType layer) {
return delegate().canModify(layer);
}

@Override
default boolean isIgnored(LayerType layer) {
return delegate().isIgnored(layer);
}

@Override
default ItemProcessing getProcessing(LayerType layer) {
return delegate().getProcessing(layer);
}

@Override
default String getDescription() {
return delegate().getDescription();
}

@Override
default ResourceAttributeDefinition<T> getAttributeDefinition() {
return delegate().getAttributeDefinition();
}

@Override
default MappingType getOutboundMappingType() {
return delegate().getOutboundMappingType();
}

@Override
default boolean hasOutboundMapping() {
return delegate().hasOutboundMapping();
}

@Override
default List<MappingType> getInboundMappingTypes() {
return delegate().getInboundMappingTypes();
}

@Override
default int getMaxOccurs(LayerType layer) {
return delegate().getMaxOccurs(layer);
}

@Override
default int getMinOccurs(LayerType layer) {
return delegate().getMinOccurs(layer);
}

@Override
default boolean isOptional(LayerType layer) {
return delegate().isOptional(layer);
}

@Override
default boolean isMandatory(LayerType layer) {
return delegate().isMandatory(layer);
}

@Override
default boolean isMultiValue(LayerType layer) {
return delegate().isMultiValue(layer);
}

@Override
default boolean isSingleValue(LayerType layer) {
return delegate().isSingleValue(layer);
}

@Override
default boolean isExclusiveStrong() {
return delegate().isExclusiveStrong();
}

@Override
default PropertyLimitations getLimitations(LayerType layer) {
return delegate().getLimitations(layer);
}

@Override
default AttributeFetchStrategyType getFetchStrategy() {
return delegate().getFetchStrategy();
}

@Override
default AttributeStorageStrategyType getStorageStrategy() {
return delegate().getStorageStrategy();
}

@Override
default List<String> getTolerantValuePattern() {
return delegate().getTolerantValuePattern();
}

@Override
default List<String> getIntolerantValuePattern() {
return delegate().getIntolerantValuePattern();
}

@Override
default boolean isVolatilityTrigger() {
return delegate().isVolatilityTrigger();
}

@Override
default String debugDump(int indent, LayerType layer) {
return delegate().debugDump(indent, layer);
}

@Override
default Integer getModificationPriority() {
return delegate().getModificationPriority();
}

@Override
default Boolean getReadReplaceMode() {
return delegate().getReadReplaceMode();
}

@Override
default boolean isDisplayNameAttribute() {
return delegate().isDisplayNameAttribute();
}

@Override
RefinedAttributeDefinition<T> deepClone(Map<QName, ComplexTypeDefinition> ctdMap,
Map<QName, ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction);
}
Expand Up @@ -92,6 +92,12 @@ default PrismReferenceDefinition findReferenceDefinition(@NotNull ItemName name)
return delegate().findReferenceDefinition(name);
}

@Override
default <T extends ItemDefinition> T findItemDefinition(@NotNull ItemPath path, @NotNull Class<T> clazz) {
return delegate().findItemDefinition(path, clazz);
}


@Override
default PrismContainerDefinition<C> cloneWithReplacedDefinition(QName itemName, ItemDefinition newDefinition) {
return delegate().cloneWithReplacedDefinition(itemName, newDefinition);
Expand Down
@@ -0,0 +1,120 @@
package com.evolveum.midpoint.schema.processor.deleg;

import java.util.Collection;
import java.util.List;
import javax.xml.namespace.QName;

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.prism.PrismObjectDefinition;
import com.evolveum.midpoint.prism.deleg.ContainerDefinitionDelegator;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.processor.ObjectClassComplexTypeDefinition;
import com.evolveum.midpoint.schema.processor.ResourceAttributeContainer;
import com.evolveum.midpoint.schema.processor.ResourceAttributeContainerDefinition;
import com.evolveum.midpoint.schema.processor.ResourceAttributeDefinition;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowAttributesType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;

public interface AttributeContainerDefinitionDelegator extends ContainerDefinitionDelegator<ShadowAttributesType>, ResourceAttributeContainerDefinition {

@Override
ResourceAttributeContainerDefinition delegate();

@Override
default Collection<? extends ResourceAttributeDefinition> getPrimaryIdentifiers() {
return delegate().getPrimaryIdentifiers();
}

@Override
default Collection<? extends ResourceAttributeDefinition> getSecondaryIdentifiers() {
return delegate().getSecondaryIdentifiers();
}

@Override
default Collection<? extends ResourceAttributeDefinition> getAllIdentifiers() {
return delegate().getAllIdentifiers();
}

@Override
default ResourceAttributeDefinition getDescriptionAttribute() {
return delegate().getDescriptionAttribute();
}

@Override
default ResourceAttributeDefinition getNamingAttribute() {
return delegate().getNamingAttribute();
}

@Override
default String getNativeObjectClass() {
return delegate().getNativeObjectClass();
}

@Override
default boolean isDefaultInAKind() {
return delegate().isDefaultInAKind();
}

@Override
default String getIntent() {
return delegate().getIntent();
}

@Override
default ShadowKindType getKind() {
return delegate().getKind();
}

@Override
default ResourceAttributeDefinition getDisplayNameAttribute() {
return delegate().getDisplayNameAttribute();
}

@Override
default <T> ResourceAttributeDefinition<T> findAttributeDefinition(QName elementQName, boolean caseInsensitive) {
return delegate().findAttributeDefinition(elementQName, caseInsensitive);
}

@Override
default ResourceAttributeDefinition findAttributeDefinition(ItemPath elementPath) {
return delegate().findAttributeDefinition(elementPath);
}

@Override
default ResourceAttributeDefinition findAttributeDefinition(String elementLocalname) {
return delegate().findAttributeDefinition(elementLocalname);
}

@Override
default List<? extends ResourceAttributeDefinition> getAttributeDefinitions() {
return delegate().getAttributeDefinitions();
}

@Override
default <T extends ShadowType> @NotNull PrismObjectDefinition<T> toShadowDefinition() {
return delegate().toShadowDefinition();
}

@Override
default @NotNull ResourceAttributeContainer instantiate() {
return delegate().instantiate();
}

@Override
default @NotNull ResourceAttributeContainer instantiate(QName name) {
return delegate().instantiate(name);
}

@Override
default List<? extends ResourceAttributeDefinition> getDefinitions() {
return delegate().getDefinitions();
}

@Override
default ObjectClassComplexTypeDefinition getComplexTypeDefinition() {
return delegate().getComplexTypeDefinition();
}

}
@@ -0,0 +1,63 @@
package com.evolveum.midpoint.schema.processor.deleg;

import javax.xml.namespace.QName;

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.prism.deleg.PropertyDefinitionDelegator;
import com.evolveum.midpoint.schema.processor.ObjectClassComplexTypeDefinition;
import com.evolveum.midpoint.schema.processor.ResourceAttribute;
import com.evolveum.midpoint.schema.processor.ResourceAttributeContainerDefinition;
import com.evolveum.midpoint.schema.processor.ResourceAttributeDefinition;

public interface AttributeDefinitionDelegator<T> extends PropertyDefinitionDelegator<T>, ResourceAttributeDefinition<T> {

@Override
ResourceAttributeDefinition<T> delegate();

@Override
default Boolean getReturnedByDefault() {
return delegate().getReturnedByDefault();
}

@Override
default boolean isReturnedByDefault() {
return delegate().isReturnedByDefault();
}

@Override
default boolean isPrimaryIdentifier(ResourceAttributeContainerDefinition objectDefinition) {
return delegate().isPrimaryIdentifier(objectDefinition);
}

@Override
default boolean isPrimaryIdentifier(ObjectClassComplexTypeDefinition objectDefinition) {
return delegate().isPrimaryIdentifier(objectDefinition);
}

@Override
default boolean isSecondaryIdentifier(ObjectClassComplexTypeDefinition objectDefinition) {
return delegate().isSecondaryIdentifier(objectDefinition);
}

@Override
default String getNativeAttributeName() {
return delegate().getNativeAttributeName();
}

@Override
default String getFrameworkAttributeName() {
return delegate().getFrameworkAttributeName();
}

@Override
default @NotNull ResourceAttribute<T> instantiate() {
return delegate().instantiate();
}

@Override
default @NotNull ResourceAttribute<T> instantiate(QName name) {
return delegate().instantiate(name);
}

}

0 comments on commit 903d157

Please sign in to comment.