/* Generated automatically by jlpp - do not edit. */ #include static jakelib::lang::String* jakelib2_strings[] = {null, null, null, null, null, null}; // "." static jchar chars_jakelib2_str_0[] = {46}; // "." static jchar chars_jakelib2_str_1[] = {46}; // "." static jchar chars_jakelib2_str_2[] = {46}; // "." static jchar chars_jakelib2_str_3[] = {46}; // ": " static jchar chars_jakelib2_str_4[] = {58,32}; // "; " static jchar chars_jakelib2_str_5[] = {59,32}; #line 1 "io/FilenameExtensionFilter.jlc" // -*- c++ -*- /* * Jakelib2 - General purpose C++ library * Copyright (C) 2001 Florian Wolff (florian@donuz.de) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * $Id: FilenameExtensionFilter.jlc,v 1.3 2003/09/27 08:10:28 florian Exp $ */ #include "jakelib2.h" #include "jakelib2/io/FilenameExtensionFilter.h" #include "jakelib2/io/File.h" #include "jakelib2/lang/System.h" #include "jakelib2/util/StringTokenizer.h" #include "jakelib2/util/ArrayList.h" using namespace jakelib::lang; using namespace jakelib::util; using namespace jakelib::io; JAKELIB_IMPLEMENT_CLASS_1("jakelib.io.FilenameExtensionFilter", FilenameExtensionFilter, Object, FilenameFilter); /*****************************************************************************\ * FilenameExtensionFilter | *****************************************************************************/ FilenameExtensionFilter::FilenameExtensionFilter(String *extension) { this->extensions = new Strings(1); if (extension->startsWith(JAKELIB_ONDEMAND(jakelib2_strings[0], new jakelib::lang::String(chars_jakelib2_str_0, 0, 1)))) this->extensions->set(0, extension); else this->extensions->set(0, JAKELIB_ONDEMAND(jakelib2_strings[1], new jakelib::lang::String(chars_jakelib2_str_1, 0, 1)) ->plus( extension)); } FilenameExtensionFilter::FilenameExtensionFilter(StringTokenizer *extensions) { int idx = 0; this->extensions = new Strings(extensions->countTokens()); while (extensions->hasMoreTokens()) { String *extension = extensions->nextToken(); if (extension->startsWith(JAKELIB_ONDEMAND(jakelib2_strings[2], new jakelib::lang::String(chars_jakelib2_str_2, 0, 1)))) this->extensions->set(idx++, extension); else this->extensions->set(idx++, JAKELIB_ONDEMAND(jakelib2_strings[3], new jakelib::lang::String(chars_jakelib2_str_3, 0, 1)) ->plus( extension)); } } /*****************************************************************************\ * accept | *****************************************************************************/ jboolean FilenameExtensionFilter::accept(File *dir, jakelib::lang::String *name) { for (int idx = 0; idx < extensions->length(); idx++) { if (name->endsWith((String*)extensions->get(idx))) return true; } return false; } /*****************************************************************************\ * toString | *****************************************************************************/ String *FilenameExtensionFilter::toString() { StringBuffer sb(getClass()->getName()); sb.append(JAKELIB_ONDEMAND(jakelib2_strings[4], new jakelib::lang::String(chars_jakelib2_str_4, 0, 2))); for (int idx = 0; idx < extensions->length(); idx++) { sb.append('*')->append((String*) extensions->get(idx)); if (idx < extensions->length() -1) sb.append(JAKELIB_ONDEMAND(jakelib2_strings[5], new jakelib::lang::String(chars_jakelib2_str_5, 0, 2))); } return sb.toString(); }