TransformationUtility implements Cloneable { protected String getSimpleClassName() { if (getClass().isAnonymousClass()) { return "AnonymousTransformationUtility"; } else { return getClass().getSimpleName(); } } @SuppressWarnings("PMD.UnnecessaryConstructor")  TransformationUtility(); final String getName(); T setContextAttributeName(String contextAttributeName); String getContextAttributeName(); final T setParent(TransformationUtilityParent parent, int order); TransformationUtilityParent getParent(); TransformationTemplate getTransformationTemplate(); abstract String getDescription(); int getOrder(); final T relative(String relativePath); final T set(String propertyName, String contextAttributeName); T absolute(String contextAttributeName); T absolute(String contextAttributeName, String additionalRelativePath); @SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE") PerformResult perform(File transformedAppFolder, TransformationContext transformationContext); final T abortOnFailure(boolean abort); final T abortOnFailure(String abortionMessage); String getAbortionMessage(); final boolean isAbortOnFailure(); boolean isSaveResult(); final boolean hasBeenPerformed(); final T dependsOn(String... dependencies); final T executeIf(String conditionAttributeName); final T executeIf(UtilityCondition utilityCondition); final T executeUnless(String conditionAttributeName); String getIfConditionAttributeName(); String getUnlessConditionAttributeName(); final boolean isFileSet(); final boolean wasFileExplicitlySet(); @Override String toString(); @Override T clone(); T copy(); @Override @SuppressWarnings("PMD.SimplifyBooleanReturns") boolean equals(Object obj); @Override int hashCode();  }
@Test public void getSimpleClassName() { TransformationUtility transformationUtility = new SampleTransformationUtility(); assertEquals(transformationUtility.getSimpleClassName(), "SampleTransformationUtility"); }