SearchCriterias.java

  1. /*
  2.  * Copyright (c) 2002-2014, Mairie de Paris
  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.  *  1. Redistributions of source code must retain the above copyright notice
  10.  *     and the following disclaimer.
  11.  *
  12.  *  2. Redistributions in binary form must reproduce the above copyright notice
  13.  *     and the following disclaimer in the documentation and/or other materials
  14.  *     provided with the distribution.
  15.  *
  16.  *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
  17.  *     contributors may be used to endorse or promote products derived from
  18.  *     this software without specific prior written permission.
  19.  *
  20.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21.  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23.  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
  24.  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25.  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27.  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28.  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29.  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30.  * POSSIBILITY OF SUCH DAMAGE.
  31.  *
  32.  * License 1.0
  33.  */
  34. package fr.paris.lutece.plugins.phraseanet.service;

  35. import fr.paris.lutece.portal.service.util.AppLogService;

  36. import java.util.ArrayList;
  37. import java.util.List;
  38. import java.util.StringTokenizer;


  39. /**
  40.  * SearchCriterias
  41.  */
  42. public class SearchCriterias
  43. {
  44.     private static final String DELIMITER = ",";

  45.     // Variables declarations
  46.     private String _strOrd;
  47.     private String _strSort;
  48.     private String _strRecordType;
  49.     private List<String> _listBases = new ArrayList<String>(  );

  50.     /**
  51.      * Returns the Ord
  52.      * @return The Ord
  53.      */
  54.     public String getOrd(  )
  55.     {
  56.         return _strOrd;
  57.     }

  58.     /**
  59.      * Sets the Ord
  60.      * @param strOrd The Ord
  61.      */
  62.     public void setOrd( String strOrd )
  63.     {
  64.         _strOrd = strOrd;
  65.     }

  66.     /**
  67.      * Returns the Sort
  68.      * @return The Sort
  69.      */
  70.     public String getSort(  )
  71.     {
  72.         return _strSort;
  73.     }

  74.     /**
  75.      * Sets the Sort
  76.      * @param strSort The Sort
  77.      */
  78.     public void setSort( String strSort )
  79.     {
  80.         _strSort = strSort;
  81.     }

  82.     /**
  83.      * Returns the RecordType
  84.      * @return The RecordType
  85.      */
  86.     public String getRecordType(  )
  87.     {
  88.         return _strRecordType;
  89.     }

  90.     /**
  91.      * Sets the RecordType
  92.      * @param strRecordType The RecordType
  93.      */
  94.     public void setRecordType( String strRecordType )
  95.     {
  96.         _strRecordType = strRecordType;
  97.     }

  98.     /**
  99.      * Get bases
  100.      * @return The bases list
  101.      */
  102.     public List<String> getBases(  )
  103.     {
  104.         return _listBases;
  105.     }

  106.     /**
  107.      * Add a base
  108.      * @param strBaseId The base id
  109.      */
  110.     public void addBase( String strBaseId )
  111.     {
  112.         _listBases.add( strBaseId );
  113.     }

  114.     /**
  115.      * Set bases
  116.      * @param strBases The bases id separated by a comma
  117.      */
  118.     public void setBases( String strBases )
  119.     {
  120.         _listBases.clear(  );

  121.         if ( strBases != null )
  122.         {
  123.             StringTokenizer st = new StringTokenizer( strBases, DELIMITER );

  124.             while ( st.hasMoreTokens(  ) )
  125.             {
  126.                 String strIdBase = st.nextToken(  ).trim(  );

  127.                 try
  128.                 {
  129.                     Integer.parseInt( strIdBase );
  130.                     _listBases.add( strIdBase );
  131.                 }
  132.                 catch ( NumberFormatException e )
  133.                 {
  134.                     AppLogService.error( "Phraseanet plugin : Invalid base id in search criteria : " + strBases );
  135.                 }
  136.             }
  137.         }
  138.     }
  139. }