001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 * 019 */ 020 package org.apache.directory.shared.ldap.schema; 021 022 import java.util.Comparator; 023 024 /** 025 * An class used for Comparator. It inherits from the general AbstractAdsSchemaObject class. It 026 * also implements the Comparator interface 027 * 028 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 029 * @version $Rev: 437007 $ 030 */ 031 public abstract class LdapComparator<T> extends LoadableSchemaObject implements Comparator<T> 032 { 033 /** The serialversionUID */ 034 private static final long serialVersionUID = 1L; 035 036 037 /** 038 * Create a new instance of a Comparator 039 * @param oid The associated OID 040 */ 041 protected LdapComparator( String oid ) 042 { 043 super( SchemaObjectType.COMPARATOR, oid ); 044 } 045 046 047 /** 048 * Store the SchemaManager in this instance. It may be necessary for some 049 * comparator which needs to have access to the oidNormalizer Map. 050 * 051 * @param schemaManager the schemaManager to store 052 */ 053 public void setSchemaManager( SchemaManager schemaManager ) 054 { 055 // Do nothing (general case). 056 } 057 058 059 /** 060 * @see Object#equals() 061 */ 062 public boolean equals( Object o ) 063 { 064 if ( !super.equals( o ) ) 065 { 066 return false; 067 } 068 069 return o instanceof LdapComparator<?>; 070 } 071 072 073 /** 074 * @see Object#toString() 075 */ 076 public String toString() 077 { 078 return objectType + " " + DescriptionUtils.getDescription( this ); 079 } 080 }