Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014 Philip Helger (www.helger.com) philip[at]helger[dot]com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package com.helger.appbasics.exchange.bulkexport;
 
 
 
 
A single field for exporting.

Author(s):
Philip Helger
 
 public class ExportRecordField implements IExportRecordField
 {
   private final EBaseType m_eFieldType;
   private final Object m_aValue;
 
   protected ExportRecordField (@Nonnull final EBaseType eFieldType, @Nullable final Object aValue)
   {
      = ValueEnforcer.notNull (eFieldType"FieldType");
      = aValue;
   }
 
   @Nonnull
   public EBaseType getFieldType ()
   {
     return ;
   }
 
   @Nullable
   public Object getFieldValue ()
   {
     return ;
   }
 
   @Override
   public boolean equals (final Object o)
   {
     if (o == this)
       return true;
     if (!(o instanceof ExportRecordField))
       return false;
     final ExportRecordField rhs = (ExportRecordFieldo;
     return .equals (rhs.m_eFieldType) && EqualsUtils.equals (rhs.m_aValue);
   }
 
   @Override
   public int hashCode ()
   {
     return new HashCodeGenerator (this).append ().append ().getHashCode ();
   }
 
   @Override
   public String toString ()
   {
     return new ToStringGenerator (this).append ("fieldType").append ("value").toString ();
   }
 
   @Nonnull
   public static EBaseType autoDetermineType (@Nullable final Object aValue)
   {
     if (aValue != null)
     {
       if (aValue instanceof LocalDate)
         return .;
       if (aValue instanceof LocalTime)
         return .;
       if (aValue instanceof LocalDateTime || aValue instanceof DateTime)
         return .;
      if (aValue instanceof Boolean)
        return .;
      if (aValue instanceof Byte ||
          aValue instanceof Short ||
          aValue instanceof Integer ||
          aValue instanceof Long ||
          aValue instanceof BigInteger)
        return .;
      if (aValue instanceof Float || aValue instanceof Double || aValue instanceof BigDecimal)
        return .;
    }
    // Default to text
    return .;
  }
  public static ExportRecordField create (@Nullable final Object aValue)
  {
    return new ExportRecordField (autoDetermineType (aValue), aValue);
  }
  public static ExportRecordField create (@Nullable final String sValue)
  {
    return new ExportRecordField (.sValue);
  }
  public static ExportRecordField create (@Nullable final LocalDate aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (@Nullable final LocalTime aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (@Nullable final LocalDateTime aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (@Nullable final DateTime aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (final boolean bValue)
  {
    return create (Boolean.valueOf (bValue));
  }
  public static ExportRecordField create (@Nullable final Boolean aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (final int nValue)
  {
    return create (Integer.valueOf (nValue));
  }
  public static ExportRecordField create (@Nullable final Integer aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (final long nValue)
  {
    return create (Long.valueOf (nValue));
  }
  public static ExportRecordField create (@Nonnull final Long aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (@Nullable final BigInteger aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (final double dValue)
  {
    return create (Double.valueOf (dValue));
  }
  public static ExportRecordField create (@Nonnull final Double aValue)
  {
    return new ExportRecordField (.aValue);
  }
  public static ExportRecordField create (@Nullable final BigDecimal aValue)
  {
    return new ExportRecordField (.aValue);
  }
New to GrepCode? Check out our FAQ X