/* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2015 ForgeRock AS. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * http://forgerock.org/license/CDDLv1.0.html * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at http://forgerock.org/license/CDDLv1.0.html * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" */ package org.forgerock.openidm.tools.scriptedbundler; import com.fasterxml.jackson.annotation.JsonIgnore; import java.util.ArrayList; import java.util.List; /** * A single connector configuration objectType, contained in {@link CustomObjectTypeProperty}. * * Represented in a JSON configuration as: * <pre><blockquote> * { * "type" : "object", * "nativeType" : "object", * "properties" : [{ * "name" : "uid", * "type" : "string" * }] * } * </blockquote></pre> */ public class CustomObjectTypePropertyItems extends CustomBaseObject { private String type; private String nativeType; private List<CustomObjectTypePropertyItemProperty> properties = new ArrayList<CustomObjectTypePropertyItemProperty>(); /** * Return the type of this item. * * @return */ public String getType() { return type; } /** * Set the type of this item. * * @param type */ public void setType(String type) { this.type = type; } /** * Return the native type of this item. * * @return */ public String getNativeType() { return nativeType; } /** * Set the native type of this item. * * @param nativeType */ public void setNativeType(String nativeType) { this.nativeType = nativeType; } /** * Return whether this item has a nativeType property. nativeType is optional. This * is a template function. * * @return */ @JsonIgnore public Boolean hasNativeType() { return nativeType != null; } /** * Return the list of {@link CustomObjectTypePropertyItemProperty} for this item. * * @return */ public List<CustomObjectTypePropertyItemProperty> getProperties() { return flagLast(properties); } /** * Set the {@link CustomObjectTypePropertyItemProperty} list for this item. * * @param properties */ public void setProperties(List<CustomObjectTypePropertyItemProperty> properties) { this.properties.clear(); this.properties.addAll(flagLast(properties)); } /** * Return whether this item has properties (optional). This is a template function. * * @return */ @JsonIgnore public Boolean getHasProperties() { return !properties.isEmpty(); } }