When you get lost in the class name

It is quite common to get lost in the class name when designing a class.

Sometimes it's easy to name it XxxManager or XxxService, but doing so tends to obscure the responsibilities of that class. So, I want to give a good class name, but I don't want to forcibly translate it into English words that other developers don't know or hear at all.

So, I extracted the suffix part (Exception etc.) of the class of Java SE 9.

There is noise because there is a class name of the snake case and it is difficult to handle when uppercase letters are consecutive.

ABSTRACT
ACTIVE
ACTIVITY
ADAPTER
ADDRESS
APDU
ARRAY
ATR
AWTError
AWTEvent
AWTException
AWTPermission
AXResult
AXSource
Access
Accessible
Accessor
Accordion
Accumulator
Acl
Action
Activatable
Activator
Active
Adapter
Adapters
Adder
Addr
Address
Addressing
Adjust
Adjustable
Adjuster
Adjusters
Affine
Agreement
Alert
Alignment
Allocator
Also
Amount
Analysis
Anchor
Animation
Annotation
Antialiasing
Any
Appendable
Applet
Application
Arc
Area
Arg
Argument
Array
Arrays
Assigned
Association
Attr
Attribute
Attributes
Authentication
Authenticator
Autoscroll
Axis
BCSIterator
Background
Band
Bar
Barrier
Base
Bean
Beans
Behavior
Bias
Bidi
Binder
Binding
Bindings
Blend
Blob
Block
Blocker
Bloom
Blur
Book
Boolean
Bootstrap
Border
Borders
Bound
Bounds
Box
Broadcaster
Buffer
Builder
Bundle
Button
Bypass
Byte
Bytecodes
Bytes
CDATASection
CMMException
CODEBASE
COMPLETED
COMPONENTS
CONTEXT
CONVERSION
CRC32
CRC32C
CRL
CRLException
CRLReason
CRLSelector
CSS
CSS2Properties
CSSRule
CSSValue
CUSTOM
Cache
Calendar
Call
Callable
Callback
Camera
Canvas
Cap
Capabilities
Capability
Card
Caret
Catalog
Category
Cause
Cell
Certificate
Chain
Change
Channel
Channels
Character
Characteristics
Characters
Charset
Charsets
Chart
Checkbox
Checker
Checksum
Child
Choice
Chooser
Chromaticity
Chronology
Cipher
Circle
Class
Cleanable
Cleaner
Client
Clip
Clipboard
Clob
Clock
Cloneable
Closeable
Code
Codec
Collate
Collation
Collator
Collection
Collections
Collector
Collectors
Color
Column
Combination
Combiner
Command
Comment
Common
Comparable
Comparator
Comparison
Compilable
Compiler
Completed
Completeness
Completer
Completion
Completions
Component
Composite
Compression
Condition
Config
Configuration
Configurator
Connection
Connector
Console
Constants
Constraints
Construct
Constructor
Consumer
Container
Content
Contents
Context
Control
Controller
Controls
Converter
Cookie
Copies
Count
Counter
Creation
Credential
Currency
Current
Cursor
Curve
Customizer
Cylinder
DConstants
DEFAULT
DGC
DHKey
DISCARDING
DOMConfiguration
DOMError
DOMException
DOMImplementation
DOMLocator
DOMResult
DOMSource
DOMStructure
DOMURIReference
DSAKey
DSAParams
DTD
DTDConstants
DTDHandler
Data
Datalink
Date
Day
Death
Decimal
Decl
Declaration
Decoder
Definition
Deflater
Delayed
Delegate
Delegator
Deprecated
Deque
Desc
Descriptor
Desktop
Destination
Destroy
Destroyable
Detail
Detector
Device
Diag
Diagnostic
Dialog
Dictionary
Digest
Dimension
Dimensions
Direction
Directive
Dispatch
Dispatcher
Display
Distant
Divider
Doc
Doclet
Document
Documentation
Documented
Documents
Domain
Double
Dragboard
Driver
Duration
ECField
ECKey
ECPoint
ENCAPS
EOFException
ES6
EXCEPTION
EXIST
EXISTENT
Edit
Editable
Editor
Effect
Element
Elements
Ellipse
Emitter
Empty
Encoder
Encoding
Endpoint
Engine
Engineering
Entity
Entry
Enum
Enumeration
Env
Environment
Equalizer
Era
Error
Eval
Evaluator
Event
Exception
Exchange
Exchanger
Executable
Executor
Executors
Existent
Exists
Exp
Expander
Exporter
Exports
Expression
Ext
Extension
Externalizable
F2m
FAILURE
FLAG
FORMAT
FORMATTED
FORWARD
FXCollections
FXML
FXMLLoader
FXPermission
FXUtils
Face
Factory
Failure
Family
Fault
Feature
Features
Feel
Fidelity
Field
Fields
File
Filer
Files
Fill
Filler
Filter
Finder
Finishings
Fixed
Flag
Flags
Flavor
Float
Flow
Flushable
Font
Form
Format
Formattable
Formatter
Forwarder
Found
Fp
Fragment
Frame
Function
Future
GLOBAL
GSSContext
GSSCredential
GSSException
GSSManager
GSSName
GSSUtil
Generated
Generator
Glow
Grabber
Gradient
Graphics
Gray
Group
Guard
Guards
HBox
HOLDING
HPos
HTML
HTMLBRElement
HTMLCollection
HTMLDOMImplementation
HTMLDocument
HTMLEditor
HTMLElement
HTMLFactory
HTMLHRElement
HTMLLIElement
HTMLWriter
HTTPBinding
HTTPException
Handle
Handler
Handlers
Handles
Handling
Hashtable
Header
Headers
Helper
Highlight
Highlighter
Hint
Hints
History
Holder
Hyperlink
Hypertext
ID
IDENT
IDLEntity
IDLType
IDN
IDREF
IIOException
IIOImage
IIOMetadata
IIOParam
IIORegistry
IMPLEMENT
IN
INACTIVE
INCOMPATIBLE
INITIALIZE
INOUT
INTERNAL
IO
IOError
IOException
IOP
IOR
IORHelper
IORHolder
IORInfo
IORInterceptor
IRObject
ISO
Icon
Id
Identity
Image
Impl
Implementation
Impressions
Inactive
Indicator
Inflater
Info
Information
Inherited
Initializable
Initializer
Initiator
Input
Insets
Instance
Instant
Instantiation
Instantiator
Instruction
Instrument
Instrumentation
Int
Integer
Interceptor
Interface
Internal
Interpolatable
Interpolator
Introspector
Invalid
Invocable
Invocation
Invoker
Item
Iterable
Iterator
JAXB
JAXBContext
JAXBElement
JAXBException
JAXBIntrospector
JAXBPermission
JAXBResult
JAXBSource
JApplet
JButton
JComponent
JDBCType
JDIPermission
JDialog
JFXPanel
JFrame
JIS
JLabel
JLayer
JList
JMException
JMX
JMXAddressable
JMXAuthenticator
JMXConnector
JMXPrincipal
JMenu
JPEGQTable
JPanel
JSException
JSObject
JSeparator
JShell
JSlider
JSpinner
JTable
JTree
JViewport
JWindow
Job
Jobs
Join
Joinable
Joiner
KOctets
Kernel
Key
Keymap
Keys
Kind
Kinds
Kit
LIMIT
LS
LSException
LSInput
LSOutput
LSParser
LSSerializer
Label
Labeled
Lambda
Latch
Layer
Layout
Lease
Level
Lifetime
Light
Lighting
Line
Linker
List
Listener
Loader
Local
Locale
Locatable
Location
Locator
Lock
Logger
Long
Lookup
Loop
MARSHAL
MBean
MEM
MEMBER
MEMORY
MLet
MODE
MTOM
MTOMFeature
MXBean
Mac
Machine
Main
Manager
Manifest
Manufacturer
Map
Mapper
Mark
Marshal
Marshaller
Master
Match
Matcher
Material
Math
Measurer
Mechanism
Media
Member
Menu
Mesh
Message
Messager
Metafactory
Method
Metrics
Minute
Mirror
Mismatch
Mixed
Mixer
Mnemonic
Modality
Mode
Model
Modifier
Module
Monitor
Month
Multicaster
NA
NClob
NONE
NSResolver
NTSid
NTSystem
NVList
Name
Nameable
Names
Namespace
Naming
Native
Node
Nodes
Normalizer
Notation
Notification
Ns
Number
OBJREF
OMGVMCID
OPERATION
ORB
ORBInitializer
ORDER
OUT
Object
Objects
Observable
Observer
Offset
Oid
Oneway
Op
Opens
Operation
Operations
Operator
Option
Optional
Options
Order
Orientation
Origin
Other
Output
Override
Owner
PARAM
PBEKey
PERMISSION
PGPData
PKCS12Attribute
PKIXParameters
PKIXReason
POA
POAHelper
POAManager
POAOperations
POLICIES
POLICY
PSource
PSpecified
Package
Packer
Packet
Pageable
Pagination
Paint
Painter
Pair
Pane
Panel
Paper
Param
Parameter
Parameterizable
Parameters
Parent
Parser
Part
Patch
Path
Paths
Pattern
Period
Permission
Permissions
Phaser
Picker
Pipe
Placement
Platform
Player
Plugin
Point
Policy
Polygon
Polyline
Pool
Popup
Port
Pos
Position
Positions
Posture
Predicate
Preferences
Preloader
Primitive
Principal
Printable
Printer
Priority
Proceed
Process
Processed
Processing
Processor
Producer
Profile
Prop
Properties
Property
Protection
Provider
Provides
Proxies
Proxy
Publisher
Purpose
QName
QOS
Quality
Queries
Query
Queue
READER
REBIND
REPOS
REQUIRED
RESOURCES
RESPONSE
RETRY
RGB
RGBColor
RMIConnection
RMIConnector
RMIServer
ROLLEDBACK
RSAKey
Radii
Random
Range
Ranges
Raster
Rdn
Read
Readable
Reader
Reason
Reasons
Receiver
Recognizer
Record
Rect
Rectangle
Redirect
Ref
Reference
Referenceable
Reflection
Refreshable
Refs
Region
Registration
Registry
Relation
Remote
Renderer
Rep
Repeat
Repeatable
Reporter
Repository
Request
Requested
Requests
Requirements
Requires
Reseed
Resolution
Resolver
Resource
Resources
Response
Responses
Result
Retention
Retry
Robot
Role
Rotate
Row
Rule
Rules
Run
Runnable
Runtime
SAAJResult
SAXException
SAXParser
SAXResult
SAXSource
SCOPE
SETS
SNIMatcher
SOAPBinding
SOAPBody
SOAPConnection
SOAPConstants
SOAPElement
SOAPEnvelope
SOAPException
SOAPFactory
SOAPFault
SOAPHandler
SOAPHeader
SOAPMessage
SOAPPart
SQLData
SQLException
SQLInput
SQLOutput
SQLPermission
SQLType
SQLWarning
SQLXML
SSLContext
SSLEngine
SSLException
SSLParameters
SSLPermission
SSLSession
SSLSocket
STORE
STREAM
STRING
SUCCESSFUL
SVGPath
Sasl
Savepoint
Scale
Scanner
Scene
Schema
Scope
Screen
Script
Scrollable
Scrollbar
Scroller
Security
Segment
Selectable
Selection
Selector
Semaphore
Separator
Seq
Sequence
Sequencer
Serial
Serializable
Series
Servant
Server
Service
Services
Set
Sets
Settings
Severity
Shadow
Shape
Shaper
Shear
Sheet
Sheets
Short
Shortcut
Side
Sides
Signature
Signer
Site
Size
Skeleton
Skin
Skinnable
Slider
Slot
Snippet
Socket
Sockets
Sorter
Soundbank
Source
Space
Spec
Specifier
Sphere
Spi
Spinner
Spliterator
Spliterators
Spot
Spring
Stack
Stage
Standard
State
Statement
Statistics
Status
Stop
Store
Strategy
Stream
Streamable
Streams
String
Stroke
Struct
Stub
Style
Styleable
Stylesheet
Subject
Subscriber
Subscription
Subset
Success
Suggestion
Supplier
Support
Supported
Symbols
Synchronizer
Syntax
Synthesizer
System
Systems
TCKind
TIFFDirectory
TIFFField
TIFFTag
TIMEOUT
TRANSACTION
TRANSIENT
TRANSPORT
TRUNCATABLE
TYPE
TYPECODE
Tab
Table
Tag
Taglet
Target
Task
Taskbar
Template
Templates
Temporal
Terminal
Terminals
Test
Text
Theme
Thread
Throwable
Ticket
Tie
Time
Timeline
Timer
Timestamp
Tip
To
Toggle
Tokenizer
Tone
Tool
Toolkit
Tooltip
Track
Tracker
Transaction
Transcoder
Transferable
Transform
Transformer
Transient
Transition
Translate
Translator
Translucency
Transmitter
Transparency
Transport
Traversal
Tray
Tree
Trees
Truncation
Type
Types
UI
UID
UIDefaults
UIEvent
UIFactory
UIManager
UIResource
UNAVAILABLE
UNKNOWN
URI
URIDereferencer
URIEvent
URIException
URIHandler
URIParameter
URIReference
URIResolver
URISyntax
URL
URLConnection
URLConverter
URLDecoder
URLEncoder
URLException
URLPermission
URLReader
UShort
UUID
Union
Unit
Units
Unmarshaller
Unpacker
Unreferenced
Unresolved
Until
Up
Updater
Usage
Use
Util
Utilities
Utils
VALUE
VBox
VMID
VMOption
VPos
Validation
Validator
Value
Varargs
Variable
Vector
Verifier
Version
View
Visibility
Visitor
Void
Walker
Warning
Warnings
Watchable
Week
Weight
When
Widths
Window
Worker
Wrapper
Writer
X500Principal
X509CRL
X509CRLEntry
X509CRLSelector
X509Certificate
X509Data
X509Extension
XAConnection
XAException
XAResource
XMLConstants
XMLDecoder
XMLEncoder
XMLEvent
XMLFilter
XMLFormatter
XMLObject
XMLReader
XMLReporter
XMLResolver
XMLSignature
XMLStructure
XPath
XYChart
Xid
Year
Zone

Recommended Posts

When you get lost in the class name
How to get the class name / method name running in Java
How to get the class name of the argument of LoggerFactory.getLogger when using SLF4J in Java
When the bean class name is duplicated
Be careful when setting the class name when creating a document-based app in Swift
Why the get method is needed in the Calendar class
In Redmine you can get the project with Project.find (<identifier>)
[Rails Tutorial Chapter 2] What to do when you make a mistake in the column name
When will you do the refactoring?
[Java] Get date information 10 days later using milliseconds in the Date class
If you want to include the parent class in Lombok's @builder
Get the result of POST in Java
Don't forget to release it when you get the object from S3!
Get the column name from the Model instance
When you get "Eh?" In Eclipse code completion-If you stumble on substring code completion-
Precautions when specifying the URL in render
Error when the member of Entity class used in SpringWebFlux is final
When you get LoadError (cannot load such file --ruby_file) when you require in Ruby
How to get the date in java
I want to get the IP address when connecting to Wi-Fi in Java
I checked the package name referenced by the class contained in the JAR file
Sort by multiple fields in the class
How to reference a column when overriding the column name method in ActiveRecord
[Java] Get the date with the LocalDateTime class
In Apache POI 3.15, when I get the result of the formula, FormulaParseException occurs (the formula refers to "cell of sheet name including" ・ ")
graphql-ruby: How to get the name of query or mutation in controller Note
Call a method of the parent class by explicitly specifying the name in Ruby
Get the class name and method name of Controller executed by HandlerInterceptor of Spring Boot
Get the path defined in Controller class of Spring boot as a list
Isn't there a name collision when enum has the same name in the switch statement?
How to get keycloak credentials in interceptor class
Preventing mistakes in the Logger name by copying
When you want to bind InputStream in JDBI3
[JAVA] Get only the file name, excluding the extension
How to get Class from Element in Java
A note when you want Tuple in Java
When you want to use the method outside
[Swift] Use nonzeroBitCount when you want popcnt in Swift
Get your version number in the Android app
When the project is not displayed in eclipse
I want to get the value in Ruby
Provisional memo when the name of the method parameter of the Java class cannot be obtained by reflection in the Eclipse plug-in project.
What to do if you can't get the text of an element in Selenium
Class in Ruby
What to do if you cannot execute with the command "Java package name / class name"
Get multiple Resources that match the pattern in spring
Get the URL of the HTTP redirect destination in Java
ARKit: Name objects in Reality Composer, get names in Swift
[Kotlin] Get the argument name of the constructor by reflection
Return the execution result of Service class in ServiceResponse class
Get the anime name for this term by scraping
I get Mysql2 :: Error :: ConnectionError in the production environment
[Ruby] Method to easily get the receiver type .class
Source used to get the redirect source URL in Java
[Ruby / Rails] Set a unique (unique) value in the class
[Java] Get the date 10 days later with the Calendar class
[Java] Get the file in the jar regardless of the environment
Where to get lost in specifications with Spark routing
[Java] Get the file path in the folder with List
About Class loading and initialization when the JVM starts
Why you need setters / getters in the first place