355e5661379644c081271b23fa8b966a098a42d2Jon Branch/*
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * DO NOT REMOVE COPYRIGHT NOTICES OR THIS HEADER.
355e5661379644c081271b23fa8b966a098a42d2Jon Branch *
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * Copyright (c) 2015 ForgeRock AS All rights reserved.
355e5661379644c081271b23fa8b966a098a42d2Jon Branch *
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * The contents of this file are subject to the terms
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * of the Common Development and Distribution License
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * (the License). You may not use this file except in
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * compliance with the License.
355e5661379644c081271b23fa8b966a098a42d2Jon Branch *
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * You can obtain a copy of the License at
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * http://forgerock.org/license/CDDLv1.0.html
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * See the License for the specific language governing
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * permission and limitations under the License.
355e5661379644c081271b23fa8b966a098a42d2Jon Branch *
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * When distributing Covered Code, include this CDDL
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * Header Notice in each file and include the License file
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * at http://forgerock.org/license/CDDLv1.0.html
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * If applicable, add the following below the CDDL Header,
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * with the fields enclosed by brackets [] replaced by
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * your own identifying information:
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * "Portions Copyrighted [year] [name of copyright owner]"
355e5661379644c081271b23fa8b966a098a42d2Jon Branch */
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branchpackage org.forgerock.openicf.connectors.{{lower packageName}}
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.codehaus.groovy.runtime.InvokerHelper
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.forgerock.openicf.misc.scriptedcommon.ScriptedConfiguration
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.common.Assertions
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.common.StringUtil
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.common.security.GuardedString
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.framework.common.exceptions.ConfigurationException
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.framework.spi.AbstractConfiguration
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.framework.spi.ConfigurationClass
355e5661379644c081271b23fa8b966a098a42d2Jon Branchimport org.identityconnectors.framework.spi.ConfigurationProperty
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branch/**
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * Extends the {@link AbstractConfiguration} class to provide all the necessary
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * parameters to initialize the {{displayName}} Connector.
355e5661379644c081271b23fa8b966a098a42d2Jon Branch *
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * @author {{author}}
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * @description {{description}}
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * @version {{version}}
355e5661379644c081271b23fa8b966a098a42d2Jon Branch */
355e5661379644c081271b23fa8b966a098a42d2Jon Branch@ConfigurationClass(skipUnsupported = true)
3437677679324afd5af50dac4de68ae39418c655Jon Branchpublic class {{packageName}}Configuration extends {{configBaseClass}} {
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branch // Exposed configuration properties.
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branch {{#properties}}
08a7066ce20c25dd60c1b3fc621162559d55a6f1Jon Branch private {{type}} {{nameCamelCase}} = {{{formattedValue}}};
355e5661379644c081271b23fa8b966a098a42d2Jon Branch @ConfigurationProperty(order = {{order}},
355e5661379644c081271b23fa8b966a098a42d2Jon Branch displayMessageKey = "{{name}}.display",
355e5661379644c081271b23fa8b966a098a42d2Jon Branch groupMessageKey = "{{replace group ' ' ''}}.group",
355e5661379644c081271b23fa8b966a098a42d2Jon Branch helpMessageKey = "{{name}}.help",
355e5661379644c081271b23fa8b966a098a42d2Jon Branch required = {{required}},
355e5661379644c081271b23fa8b966a098a42d2Jon Branch confidential = {{confidential}})
355e5661379644c081271b23fa8b966a098a42d2Jon Branch public {{type}} get{{name}}() {
355e5661379644c081271b23fa8b966a098a42d2Jon Branch return {{name}};
355e5661379644c081271b23fa8b966a098a42d2Jon Branch }
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branch public void set{{name}}({{type}} value) {
355e5661379644c081271b23fa8b966a098a42d2Jon Branch this.{{name}} = value;
355e5661379644c081271b23fa8b966a098a42d2Jon Branch }
355e5661379644c081271b23fa8b966a098a42d2Jon Branch {{/properties}}
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branch /**
355e5661379644c081271b23fa8b966a098a42d2Jon Branch * {@inheritDoc}
355e5661379644c081271b23fa8b966a098a42d2Jon Branch */
355e5661379644c081271b23fa8b966a098a42d2Jon Branch @Override
355e5661379644c081271b23fa8b966a098a42d2Jon Branch public void validate() {
355e5661379644c081271b23fa8b966a098a42d2Jon Branch // Add property validation here if required and throw new ConfigurationException() on failure, else:
355e5661379644c081271b23fa8b966a098a42d2Jon Branch super.validate();
355e5661379644c081271b23fa8b966a098a42d2Jon Branch }
355e5661379644c081271b23fa8b966a098a42d2Jon Branch
355e5661379644c081271b23fa8b966a098a42d2Jon Branch @Override
355e5661379644c081271b23fa8b966a098a42d2Jon Branch void release() {
355e5661379644c081271b23fa8b966a098a42d2Jon Branch synchronized (this) {
355e5661379644c081271b23fa8b966a098a42d2Jon Branch super.release();
355e5661379644c081271b23fa8b966a098a42d2Jon Branch // Add any required shutdown logic here
355e5661379644c081271b23fa8b966a098a42d2Jon Branch }
355e5661379644c081271b23fa8b966a098a42d2Jon Branch }
355e5661379644c081271b23fa8b966a098a42d2Jon Branch}