/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.commons.net.ftp.parser;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFileEntryParser;
The interface describes a factory for creating FTPFileEntryParsers.
Since: 1.2
/**
* The interface describes a factory for creating FTPFileEntryParsers.
* @since 1.2
*/
public interface FTPFileEntryParserFactory
{
Implementation should be a method that decodes the
supplied key and creates an object implementing the
interface FTPFileEntryParser.
Params: - key – A string that somehow identifies an
FTPFileEntryParser to be created.
Throws: - ParserInitializationException –
Thrown on any exception in instantiation
Returns: the FTPFileEntryParser created.
/**
* Implementation should be a method that decodes the
* supplied key and creates an object implementing the
* interface FTPFileEntryParser.
*
* @param key A string that somehow identifies an
* FTPFileEntryParser to be created.
*
* @return the FTPFileEntryParser created.
* @throws ParserInitializationException
* Thrown on any exception in instantiation
*/
public FTPFileEntryParser createFileEntryParser(String key)
throws ParserInitializationException;
Implementation should be a method that extracts a key from the supplied FTPClientConfig
parameter and creates an object implementing the interface FTPFileEntryParser and uses the supplied configuration to configure it.
Note that this method will generally not be called in scenarios
that call for autodetection of parser type but rather, for situations
where the user knows that the server uses a non-default configuration
and knows what that configuration is.
Params: - config – A
FTPClientConfig
used to configure the parser created
Throws: - ParserInitializationException –
Thrown on any exception in instantiation
Returns: the @link FTPFileEntryParser FTPFileEntryParser} so created. Since: 1.4
/**
*<p>
* Implementation should be a method that extracts
* a key from the supplied {@link FTPClientConfig FTPClientConfig}
* parameter and creates an object implementing the
* interface FTPFileEntryParser and uses the supplied configuration
* to configure it.
* </p><p>
* Note that this method will generally not be called in scenarios
* that call for autodetection of parser type but rather, for situations
* where the user knows that the server uses a non-default configuration
* and knows what that configuration is.
* </p>
*
* @param config A {@link FTPClientConfig FTPClientConfig}
* used to configure the parser created
*
* @return the @link FTPFileEntryParser FTPFileEntryParser} so created.
* @throws ParserInitializationException
* Thrown on any exception in instantiation
* @since 1.4
*/
public FTPFileEntryParser createFileEntryParser(FTPClientConfig config)
throws ParserInitializationException;
}