FAQ
[ https://issues.apache.org/jira/browse/HADOOP-24?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Owen O'Malley resolved HADOOP-24.
---------------------------------

Resolution: Won't Fix
make Configuration an interface
-------------------------------

Key: HADOOP-24
URL: https://issues.apache.org/jira/browse/HADOOP-24
Project: Hadoop Core
Issue Type: Improvement
Components: conf
Affects Versions: 0.7.2
Reporter: Doug Cutting
Assignee: Doug Cutting
Attachments: conf-with-factory.patch, configuration.java, configuration.patch, HADOOP-24-2.patch, HADOOP-24-3.patch, HADOOP-24-4.patch, HADOOP-24.patch, HADOOP-24.patch


The Configuration class should become an interface, e.g.:
public interface Configuration {
String get(String nam);
String set(String name, String value);
int getInt(String name);
void setInt(String name, int value);
float getFloat(String name);
void setFloat(String name, float value);
//... other utility methods based on get(String) and set(String,String) ...
}
An abstract class named ConfigurationBase should be implemented as follows:
public abstract class ConfigurationBase implements Configuration {
abstract public String get(String nam);
abstract public String set(String name, String value);
public int getInt(String name) { ... implementation in terms of get(String) ... }
public void setInt(String name, int value) {... implementation in terms of set(String, String) ...}
public float getFloat(String name) { ... implementation in terms of get(String) ... }
public void setFloat(String name, float value) {... implementation in terms of set(String, String) ...}
//... other utility methods based on get(String) and set(String,String) ...
}
A concrete, default implementation will be provided as follows:
public class ConfigurationImpl implements Writable extends ConfigurationBase {
private Properties properties;
// implement abstract methods from ConfigurationBase
public String get(String name) { ... implemented in terms of props ...}
public String set(String name, String value) { .. implemented in terms of props ... }
// Writable methods
public write(DataOutputStream out);
public readFields(DataInputStream in);
// permit chaining of configurations
public Configuration getDefaults();
public void setDefaults(Configuration defaults);
}
Only code which creates configurations should need to be updated, so this shouldn't be a huge change.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcommon-dev @
categorieshadoop
postedJan 15, '09 at 5:29p
activeJan 15, '09 at 5:29p
posts1
users1
websitehadoop.apache.org...
irc#hadoop

1 user in discussion

Owen O'Malley (JIRA): 1 post

People

Translate

site design / logo © 2022 Grokbase