001/* 002 * Copyright (C) Christian Schulte, 2005-206 003 * All rights reserved. 004 * 005 * Redistribution and use in source and binary forms, with or without 006 * modification, are permitted provided that the following conditions 007 * are met: 008 * 009 * o Redistributions of source code must retain the above copyright 010 * notice, this list of conditions and the following disclaimer. 011 * 012 * o Redistributions in binary form must reproduce the above copyright 013 * notice, this list of conditions and the following disclaimer in 014 * the documentation and/or other materials provided with the 015 * distribution. 016 * 017 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 018 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 019 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 020 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, 021 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 022 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 023 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 024 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 025 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 026 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 027 * 028 * $JOMC: NameType.java 4613 2012-09-22 10:07:08Z schulte $ 029 * 030 */ 031package org.jomc.ant.types; 032 033import org.apache.commons.lang.builder.ToStringBuilder; 034 035/** 036 * Datatype holding a {@code name} property. 037 * 038 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a> 039 * @version $JOMC: NameType.java 4613 2012-09-22 10:07:08Z schulte $ 040 */ 041public class NameType implements Cloneable 042{ 043 044 /** The name of the datatype. */ 045 private String name; 046 047 /** Creates a new {@code NameType} instance. */ 048 public NameType() 049 { 050 super(); 051 } 052 053 /** 054 * Gets the value of the {@code name} property. 055 * 056 * @return The value of the {@code name} property. 057 * 058 * @see #setName(java.lang.String) 059 */ 060 public final String getName() 061 { 062 return this.name; 063 } 064 065 /** 066 * Sets the value of the {@code name} property. 067 * 068 * @param value The new value of the {@code name} property. 069 * 070 * @see #getName() 071 */ 072 public final void setName( final String value ) 073 { 074 this.name = value; 075 } 076 077 /** 078 * Creates and returns a copy of this object. 079 * 080 * @return A copy of this object. 081 */ 082 @Override 083 public NameType clone() 084 { 085 try 086 { 087 return (NameType) super.clone(); 088 } 089 catch ( final CloneNotSupportedException e ) 090 { 091 throw new AssertionError( e ); 092 } 093 } 094 095 /** 096 * Creates and returns a string representation of the object. 097 * 098 * @return A string representation of the object. 099 */ 100 @Override 101 public String toString() 102 { 103 return ToStringBuilder.reflectionToString( this ); 104 } 105 106}