Java tutorial
/* * Copyright (c) 2012 - Reinaldo de Carvalho <reinaldoc@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ package br.gov.frameworkdemoiselle.ldap.template; import org.apache.commons.lang.ArrayUtils; import br.gov.frameworkdemoiselle.ldap.annotation.DistinguishedName; import br.gov.frameworkdemoiselle.ldap.annotation.LDAPEntry; import br.gov.frameworkdemoiselle.ldap.annotation.ParentDN; import br.gov.frameworkdemoiselle.ldap.annotation.RemoveOnMerge; @LDAPEntry public abstract class Entry { @DistinguishedName private String dn; @ParentDN private String parentDN; private String[] objectClass; @RemoveOnMerge private String[] removeOnMerge; protected abstract String[] objectClass(); public Entry() { setObjectClass(objectClass()); } public Entry(boolean skipObjectClass) { if (!skipObjectClass) setObjectClass(objectClass()); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null || dn == null || getClass() != obj.getClass()) return false; if (dn.equals(((Entry) obj).dn)) return true; return false; } public String getDn() { return dn; } public void setDn(String dn) { this.dn = dn; } public String getParentDN() { return parentDN; } public void setParentDN(String parentDN) { this.parentDN = parentDN; } public String[] getObjectClass() { return objectClass; } public void setObjectClass(String[] objectClass) { this.objectClass = objectClass; } public void removeAttribute(String attribute) { removeOnMerge = (String[]) ArrayUtils.add(removeOnMerge, attribute); } }