001/* 002 * ============================================================================ 003 * Copyright © 2002-2026 by Thomas Thrien. 004 * All Rights Reserved. 005 * ============================================================================ 006 * 007 * Licensed to the public under the agreements of the GNU Lesser General Public 008 * License, version 3.0 (the "License"). You may obtain a copy of the License at 009 * 010 * http://www.gnu.org/licenses/lgpl.html 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 014 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 015 * License for the specific language governing permissions and limitations 016 * under the License. 017 */ 018 019package org.tquadrat.foundation.perflog; 020 021import static org.apiguardian.api.API.Status.STABLE; 022 023import org.apiguardian.api.API; 024import org.tquadrat.foundation.annotation.ClassVersion; 025import org.tquadrat.foundation.lang.StringConverter; 026import org.tquadrat.foundation.perflog.internal.PerformanceSectionNameImpl; 027 028/** 029 * <p>{@summary This interface describes the name for a a "Performance 030 * Section".}</p> 031 * 032 * @extauthor Thomas Thrien - thomas.thrien@tquadrat.org 033 * @version $Id: PerformanceSectionName.java 1211 2026-05-01 15:24:10Z tquadrat $ 034 * @since 0.25.0 035 * 036 * @UMLGraph.link 037 */ 038@ClassVersion( sourceVersion = "$Id: PerformanceSectionName.java 1211 2026-05-01 15:24:10Z tquadrat $" ) 039@API( status = STABLE, since = "0.25.0" ) 040public sealed interface PerformanceSectionName extends Comparable<PerformanceSectionName> 041 permits PerformanceSectionNameImpl 042{ 043 /*---------*\ 044 ====** Methods **========================================================== 045 \*---------*/ 046 /** 047 * {@inheritDoc} 048 */ 049 @Override 050 public int compareTo( final PerformanceSectionName o ); 051 052 /** 053 * {@inheritDoc} 054 */ 055 @Override 056 public boolean equals( final Object o ); 057 058 /** 059 * Returns the 060 * {@link org.tquadrat.foundation.lang.StringConverter} 061 * for instances of this class. 062 * 063 * @param <T> The type that is handled by the returned 064 * {@link StringConverter} 065 * instance. 066 * @return The {@code StringConverter}. 067 */ 068 public static <T extends PerformanceSectionName> StringConverter<T> getStringConverter() 069 { 070 return PerformanceSectionNameImpl.getStringConverter(); 071 } // getStringConverter() 072 073 /** 074 * {@inheritDoc} 075 */ 076 @Override 077 public int hashCode(); 078 079 /** 080 * {@inheritDoc} 081 */ 082 @Override 083 public String toString(); 084} 085// interface PerformanceSectionName 086 087/* 088 * End of File 089 */