static <T> LayerRefinedAttributeDefinition<T> wrap(RefinedAttributeDefinition<T> rAttrDef, LayerType layer) { if (rAttrDef == null) { return null; } return new LayerRefinedAttributeDefinitionImpl<>(rAttrDef, layer); }
@Override public String debugDump() { return debugDump(0); }
attributeAddDecision, attributeModifyDecision); if (attributeReadDecision != AuthorizationDecisionType.ALLOW) { ((LayerRefinedAttributeDefinitionImpl) rAttrDef).setOverrideCanRead(false); ((LayerRefinedAttributeDefinitionImpl) rAttrDef).setOverrideCanAdd(false); ((LayerRefinedAttributeDefinitionImpl) rAttrDef).setOverrideCanModify(false);
static List<LayerRefinedAttributeDefinition<?>> wrapCollection( Collection<? extends ItemDefinition> defs, LayerType layer) { List outs = new ArrayList<LayerRefinedAttributeDefinition<?>>(defs.size()); for (ItemDefinition itemDef: defs) { if (itemDef instanceof LayerRefinedAttributeDefinition) { outs.add(itemDef); } else if (itemDef instanceof RefinedAttributeDefinition) { outs.add(wrap((RefinedAttributeDefinition)itemDef, layer)); } else { throw new IllegalStateException("Unexpected type of attribute definition: " + itemDef); } } return outs; }
@NotNull @Override public Collection<? extends LayerRefinedAttributeDefinition<?>> getSecondaryIdentifiers() { return LayerRefinedAttributeDefinitionImpl.wrapCollection(refinedObjectClassDefinition.getSecondaryIdentifiers(), layer); }
@Override public String debugDump(int indent) { StringBuilder sb = new StringBuilder(); DebugUtil.indentDebugDump(sb, indent); sb.append(getDebugDumpClassName()).append("(layer=").append(layer).append(",\n"); sb.append(refinedAttributeDefinition.debugDump(indent+1, layer)); return sb.toString(); }
@Override public <ID extends ItemDefinition> ID findLocalItemDefinition(@NotNull QName name, @NotNull Class<ID> clazz, boolean caseInsensitive) { ID def = refinedObjectClassDefinition.findLocalItemDefinition(name, clazz, caseInsensitive); return (ID) LayerRefinedAttributeDefinitionImpl.wrap((RefinedAttributeDefinition) def, layer); }
@NotNull @Override public List<? extends LayerRefinedAttributeDefinition<?>> getAttributeDefinitions() { if (layerRefinedAttributeDefinitions == null) { layerRefinedAttributeDefinitions = LayerRefinedAttributeDefinitionImpl.wrapCollection(refinedObjectClassDefinition.getAttributeDefinitions(), layer); } return layerRefinedAttributeDefinitions; }
@Override public LayerRefinedAttributeDefinition<?> findAttributeDefinition(String elementLocalname) { return LayerRefinedAttributeDefinitionImpl.wrap(refinedObjectClassDefinition.findAttributeDefinition(elementLocalname), layer); }
@Override public RefinedAttributeDefinition<T> deepClone(Map<QName, ComplexTypeDefinition> ctdMap, Map<QName, ComplexTypeDefinition> onThisPath, Consumer<ItemDefinition> postCloneAction) { return new LayerRefinedAttributeDefinitionImpl<>(refinedAttributeDefinition.deepClone(ctdMap, onThisPath, postCloneAction), layer); }