/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive.schema; /** * Base schema bean for named schema elements. * * @author Middleware Services */ public abstract class AbstractNamedSchemaElement extends AbstractSchemaElement { /** Names. */ private String[] names; /** Obsolete. */ private boolean obsolete; /** * Returns the first name defined or null if no names are defined. * * @return first name in the list */ public String getName() { if (names != null && names.length > 0) { return names[0]; } return null; } /** * Returns the names. * * @return names */ public String[] getNames() { return names; } /** * Sets the names. * * @param s names */ public void setNames(final String[] s) { names = s; } /** * Returns whether the supplied string matches, ignoring case, any of the names for this schema element. * * @param s to match * * @return whether the supplied string matches a name */ public boolean hasName(final String s) { if (names != null) { for (String name : names) { if (name.equalsIgnoreCase(s)) { return true; } } } return false; } /** * Returns whether this attribute type definition is obsolete. * * @return whether this attribute type definition is obsolete */ public boolean isObsolete() { return obsolete; } /** * Sets whether this attribute type definition is obsolete. * * @param b whether this attribute type definition is obsolete */ public void setObsolete(final boolean b) { obsolete = b; } }