PropertiesResourceType.java

  1. /*
  2.  *   Copyright (C) 2005 Christian Schulte <cs@schulte.it>
  3.  *   All rights reserved.
  4.  *
  5.  *   Redistribution and use in source and binary forms, with or without
  6.  *   modification, are permitted provided that the following conditions
  7.  *   are met:
  8.  *
  9.  *     o Redistributions of source code must retain the above copyright
  10.  *       notice, this list of conditions and the following disclaimer.
  11.  *
  12.  *     o Redistributions in binary form must reproduce the above copyright
  13.  *       notice, this list of conditions and the following disclaimer in
  14.  *       the documentation and/or other materials provided with the
  15.  *       distribution.
  16.  *
  17.  *   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  18.  *   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  19.  *   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
  20.  *   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
  21.  *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  22.  *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23.  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24.  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26.  *   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  *
  28.  *   $JOMC: PropertiesResourceType.java 5135 2016-04-08 13:53:07Z schulte $
  29.  *
  30.  */
  31. package org.jomc.ant.types;

  32. import org.apache.commons.lang.builder.ToStringBuilder;

  33. /**
  34.  * Datatype describing a properties resource.
  35.  *
  36.  * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
  37.  * @version $JOMC: PropertiesResourceType.java 5135 2016-04-08 13:53:07Z schulte $
  38.  */
  39. public class PropertiesResourceType extends ResourceType
  40. {

  41.     /**
  42.      * The format of the properties resource.
  43.      */
  44.     private PropertiesFormatType format;

  45.     /**
  46.      * Creates a new {@code PropertiesResourceType} instance.
  47.      */
  48.     public PropertiesResourceType()
  49.     {
  50.         super();
  51.     }

  52.     /**
  53.      * Gets the value of the {@code format} property.
  54.      *
  55.      * @return The value of the {@code format} property.
  56.      *
  57.      * @see #setFormat(org.jomc.ant.types.PropertiesFormatType)
  58.      */
  59.     public final PropertiesFormatType getFormat()
  60.     {
  61.         if ( this.format == null )
  62.         {
  63.             this.format = PropertiesFormatType.PLAIN;
  64.         }

  65.         return this.format;
  66.     }

  67.     /**
  68.      * Sets the value of the {@code format} property.
  69.      *
  70.      * @param value The new value of the {@code format} property or {@code null}.
  71.      *
  72.      * @see #getFormat()
  73.      */
  74.     public final void setFormat( final PropertiesFormatType value )
  75.     {
  76.         this.format = value;
  77.     }

  78.     /**
  79.      * Creates and returns a copy of this object.
  80.      *
  81.      * @return A copy of this object.
  82.      */
  83.     @Override
  84.     public PropertiesResourceType clone()
  85.     {
  86.         return (PropertiesResourceType) super.clone();
  87.     }

  88.     /**
  89.      * Creates and returns a string representation of the object.
  90.      *
  91.      * @return A string representation of the object.
  92.      */
  93.     @Override
  94.     public String toString()
  95.     {
  96.         return ToStringBuilder.reflectionToString( this );
  97.     }

  98. }