mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-06 17:26:01 +02:00
Clean-up javadoc, method names and open API
This commit is contained in:
parent
5e5b51e35a
commit
1c77ff42c8
10 changed files with 131 additions and 81 deletions
|
@ -16,7 +16,10 @@ import org.eclipse.cdt.codan.core.param.IProblemPreferenceDescriptor.PreferenceT
|
||||||
import org.eclipse.cdt.codan.core.param.MapProblemPreference;
|
import org.eclipse.cdt.codan.core.param.MapProblemPreference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AbstarctChecker that has extra method to simplify adding parameters
|
* AbstarctChecker that has extra methods to simplify adding problem
|
||||||
|
* preferences.
|
||||||
|
* Checker can produce several problems, but preferences are per problem.
|
||||||
|
* Shared are not supported now.
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractCheckerWithProblemPreferences extends
|
public abstract class AbstractCheckerWithProblemPreferences extends
|
||||||
AbstractChecker implements ICheckerWithPreferences {
|
AbstractChecker implements ICheckerWithPreferences {
|
||||||
|
|
|
@ -15,7 +15,8 @@ import java.io.InputStreamReader;
|
||||||
import java.io.StreamTokenizer;
|
import java.io.StreamTokenizer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default implementation for single parameter checker of type string.
|
* Default implementation of problem preference. It keeps preference metadata
|
||||||
|
* together with preference itself.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractProblemPreference implements IProblemPreference {
|
public abstract class AbstractProblemPreference implements IProblemPreference {
|
||||||
|
@ -93,18 +94,6 @@ public abstract class AbstractProblemPreference implements IProblemPreference {
|
||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IProblemPreference getChildDescriptor(String key) {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public IProblemPreference[] getChildDescriptors() {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addChildDescriptor(IProblemPreference info) {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -16,7 +16,9 @@ import java.io.StreamTokenizer;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ParameterInfo representing a single checker parameter
|
* Preference representing a problem preference of a basic type.
|
||||||
|
*
|
||||||
|
* @see IProblemPreferenceDescriptor.PreferenceType for types.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class BasicProblemPreference extends AbstractProblemPreference {
|
public class BasicProblemPreference extends AbstractProblemPreference {
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2009,2010 Alena Laskavaia
|
* Copyright (c) 2009,2010 QNX Software Systems
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Alena Laskavaia - initial API and implementation
|
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.codan.core.param;
|
package org.eclipse.cdt.codan.core.param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Value of the problem preference. If more than one it can be composite, i.e.
|
* Value of the problem preference. If more than one it can be composite, i.e.
|
||||||
* map
|
* map. Instead of implementing this interface use
|
||||||
|
* {@link AbstractProblemPreference} class.
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
*/
|
*/
|
||||||
public interface IProblemPreference extends Cloneable, IProblemPreferenceValue,
|
public interface IProblemPreference extends Cloneable, IProblemPreferenceValue,
|
||||||
IProblemPreferenceDescriptor {
|
IProblemPreferenceDescriptor {
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2009,2010 QNX Software Systems
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.codan.core.param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Composite descriptor. For descriptors like map and list.
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
|
*/
|
||||||
|
public interface IProblemPreferenceCompositeDescriptor {
|
||||||
|
/**
|
||||||
|
* Available if type is composite. Returns value of subdescriptor with the
|
||||||
|
* name of key. For the "list" type key is the number (index).
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
* - name of the subdescriptor.
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IProblemPreference getChildDescriptor(String key);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Available if type is list or map. Returns array of children.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
IProblemPreference[] getChildDescriptors();
|
||||||
|
|
||||||
|
void addChildDescriptor(IProblemPreference info);
|
||||||
|
|
||||||
|
void removeChildDescriptor(IProblemPreference info);
|
||||||
|
}
|
|
@ -11,9 +11,12 @@
|
||||||
package org.eclipse.cdt.codan.core.param;
|
package org.eclipse.cdt.codan.core.param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for container type preferences
|
* Interface for container type preferences, such as map or list
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
*/
|
*/
|
||||||
public interface IProblemPreferenceContainer {
|
public interface IProblemPreferenceCompositeValue {
|
||||||
Object getChildValue(String key);
|
Object getChildValue(String key);
|
||||||
|
|
||||||
void addChildValue(String key, Object value);
|
void addChildValue(String key, Object value);
|
|
@ -15,14 +15,15 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Problem parameter usually key=value settings that allows to alter checker
|
* Problem parameter usually key=value settings that allow to alter checker
|
||||||
* behaviour for given problem. For example if checker finds violation of naming
|
* behaviour for given problem. For example if checker finds violation of naming
|
||||||
* conventions for function, parameter would be the pattern of allowed names.
|
* conventions for function, parameter would be the pattern of allowed names.
|
||||||
* ProblemParameterInfo represent parameter meta-info for the ui. If more that
|
*
|
||||||
* one parameter required ParameterInfo should describe hash or array of
|
* IProblemPreferenceDescriptor represent preference's meta-info for the ui. If
|
||||||
* parameters. This is only needed for auto-generated ui for parameter editing.
|
* more than one parameter is required it can be map or list of sub-preferences.
|
||||||
* For complex case custom ui control should be used. Extend
|
* This is only needed for auto-generated ui for parameter
|
||||||
* AbstractProblemParamterInfo class
|
* editing. For more complex cases custom ui control should be used. Extend
|
||||||
|
* {@link AbstractProblemPreference} class
|
||||||
* to implement this interface.
|
* to implement this interface.
|
||||||
*
|
*
|
||||||
* @noextend This interface is not intended to be extended by clients.
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
|
@ -113,28 +114,6 @@ public interface IProblemPreferenceDescriptor extends Cloneable {
|
||||||
*/
|
*/
|
||||||
String getToolTip();
|
String getToolTip();
|
||||||
|
|
||||||
/**
|
|
||||||
* Available if type is composite. Returns value of subdescriptor with the
|
|
||||||
* name of key. For the "list" type key is the number (index).
|
|
||||||
*
|
|
||||||
* @param key
|
|
||||||
* - name of the subdescriptor.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
IProblemPreference getChildDescriptor(String key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Available if type is list or map. Returns array of children.
|
|
||||||
* Of size 0 for basic types, keys for map, and arrays of 0 element for
|
|
||||||
* array type
|
|
||||||
* (since all elements are the same).
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
IProblemPreference[] getChildDescriptors();
|
|
||||||
|
|
||||||
void addChildDescriptor(IProblemPreference info);
|
|
||||||
|
|
||||||
Object clone();
|
Object clone();
|
||||||
|
|
||||||
IProblemPreference getParent();
|
IProblemPreference getParent();
|
||||||
|
|
|
@ -1,31 +1,53 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2009,2010 Alena Laskavaia
|
* Copyright (c) 2009,2010 QNX Software Systems
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Alena Laskavaia - initial API and implementation
|
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.codan.core.param;
|
package org.eclipse.cdt.codan.core.param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Value of the problem preference. If more than one it can be composite, i.e.
|
* Value of the problem preference. If more than one it can be composite, i.e.
|
||||||
* map
|
* map
|
||||||
|
*
|
||||||
|
* @noextend This interface is not intended to be extended by clients.
|
||||||
|
* @noimplement This interface is not intended to be implemented by clients.
|
||||||
*/
|
*/
|
||||||
public interface IProblemPreferenceValue extends Cloneable {
|
public interface IProblemPreferenceValue extends Cloneable {
|
||||||
/**
|
/**
|
||||||
* Get value of parameter if it is basic type.
|
* Get value of preference.
|
||||||
*
|
*
|
||||||
* @param key
|
* @return object that represents the value. Limited number of object types
|
||||||
* @return
|
* are allowed.
|
||||||
|
* @see IProblemPreferenceDescriptor.PreferenceType
|
||||||
*/
|
*/
|
||||||
Object getValue();
|
Object getValue();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set value of preference represented by this object.
|
||||||
|
*
|
||||||
|
* @param value
|
||||||
|
*/
|
||||||
void setValue(Object value);
|
void setValue(Object value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Export value in string representation required for storing in eclipse
|
||||||
|
* preferences.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
String exportValue();
|
String exportValue();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Import value from string into internal object state.
|
||||||
|
*
|
||||||
|
* @param str
|
||||||
|
* - string from preferences, previously exported by exportValue
|
||||||
|
* method.
|
||||||
|
*/
|
||||||
void importValue(String str);
|
void importValue(String str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2009 Alena Laskavaia
|
* Copyright (c) 2009,2010 QNX Software Systems
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Alena Laskavaia - initial API and implementation
|
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.codan.core.param;
|
package org.eclipse.cdt.codan.core.param;
|
||||||
|
|
||||||
|
@ -16,11 +16,12 @@ import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Alena
|
* List implementation of IProblemPreference.
|
||||||
*
|
*
|
||||||
|
* @noextend This class is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public class ListProblemPreference extends AbstractProblemPreference implements
|
public class ListProblemPreference extends AbstractProblemPreference implements
|
||||||
IProblemPreferenceContainer {
|
IProblemPreferenceCompositeValue, IProblemPreferenceCompositeDescriptor {
|
||||||
protected ArrayList<IProblemPreference> list = new ArrayList<IProblemPreference>(
|
protected ArrayList<IProblemPreference> list = new ArrayList<IProblemPreference>(
|
||||||
1);
|
1);
|
||||||
|
|
||||||
|
@ -44,29 +45,28 @@ public class ListProblemPreference extends AbstractProblemPreference implements
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get parameter into for element equal to key's int value,
|
* Get parameter into for element equal to key's int value.
|
||||||
*
|
*
|
||||||
* @throws NumberFormatException
|
* @throws NumberFormatException
|
||||||
* if key is not number
|
* if key is not number
|
||||||
* @throws ArrayIndexOutOfBoundsException
|
* @throws ArrayIndexOutOfBoundsException
|
||||||
* is index is out of bound
|
* is index is out of bound
|
||||||
*/
|
*/
|
||||||
@Override
|
|
||||||
public IProblemPreference getChildDescriptor(String key)
|
public IProblemPreference getChildDescriptor(String key)
|
||||||
throws NumberFormatException {
|
throws NumberFormatException {
|
||||||
if (key == null) {
|
if (key == null) {
|
||||||
// special case if all element are the same return first, if key is
|
// special case if all element are the same return first, if key is
|
||||||
// null
|
// null
|
||||||
return (IProblemPreference) getChildPreference(0).clone();
|
return (IProblemPreference) getChildDescriptor(0).clone();
|
||||||
}
|
}
|
||||||
Integer iv = Integer.valueOf(key);
|
Integer iv = Integer.valueOf(key);
|
||||||
if (iv.intValue() >= list.size()) {
|
if (iv.intValue() >= list.size()) {
|
||||||
// special case if all element are the same return first clone
|
// special case if all element are the same return first clone
|
||||||
IProblemPreference childInfo = (IProblemPreference) getChildPreference(
|
IProblemPreference childInfo = (IProblemPreference) getChildDescriptor(
|
||||||
0).clone();
|
0).clone();
|
||||||
return childInfo;
|
return childInfo;
|
||||||
}
|
}
|
||||||
return getChildPreference(iv.intValue());
|
return getChildDescriptor(iv.intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,7 +75,7 @@ public class ListProblemPreference extends AbstractProblemPreference implements
|
||||||
* @param i
|
* @param i
|
||||||
* @param info
|
* @param info
|
||||||
*/
|
*/
|
||||||
public void setChildPreference(int i, IProblemPreference info) {
|
public void setChildDescriptor(int i, IProblemPreference info) {
|
||||||
if (info != null) {
|
if (info != null) {
|
||||||
while (i >= list.size()) {
|
while (i >= list.size()) {
|
||||||
list.add(null);
|
list.add(null);
|
||||||
|
@ -90,21 +90,19 @@ public class ListProblemPreference extends AbstractProblemPreference implements
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If all list elements have same info it is enough to set only first one
|
* If all list elements have same info it is enough to set only first one
|
||||||
* (index 0)
|
* (index 0). When value is set for the other it will be replicated.
|
||||||
*/
|
*/
|
||||||
@Override
|
|
||||||
public void addChildDescriptor(IProblemPreference info) {
|
public void addChildDescriptor(IProblemPreference info) {
|
||||||
Integer iv = Integer.valueOf(info.getKey());
|
Integer iv = Integer.valueOf(info.getKey());
|
||||||
IProblemPreference desc = (IProblemPreference) info.clone();
|
IProblemPreference desc = (IProblemPreference) info.clone();
|
||||||
desc.setParent(this);
|
desc.setParent(this);
|
||||||
setChildPreference(iv, desc);
|
setChildDescriptor(iv, desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IProblemPreference getChildPreference(int i) {
|
public IProblemPreference getChildDescriptor(int i) {
|
||||||
return list.get(i);
|
return list.get(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public IProblemPreference[] getChildDescriptors() {
|
public IProblemPreference[] getChildDescriptors() {
|
||||||
return list.toArray(new IProblemPreference[list.size()]);
|
return list.toArray(new IProblemPreference[list.size()]);
|
||||||
}
|
}
|
||||||
|
@ -117,8 +115,8 @@ public class ListProblemPreference extends AbstractProblemPreference implements
|
||||||
public void addChildValue(String key, Object value) {
|
public void addChildValue(String key, Object value) {
|
||||||
IProblemPreference pref = getChildDescriptor(key);
|
IProblemPreference pref = getChildDescriptor(key);
|
||||||
pref.setValue(value);
|
pref.setValue(value);
|
||||||
// because descriptor can be phantom we have to set preference phisically
|
// because descriptor can be phantom we have to set preference forcefully
|
||||||
setChildPreference(Integer.parseInt(key), pref);
|
setChildDescriptor(Integer.parseInt(key), pref);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeChildValue(String key) {
|
public void removeChildValue(String key) {
|
||||||
|
@ -174,4 +172,8 @@ public class ListProblemPreference extends AbstractProblemPreference implements
|
||||||
throw new IllegalArgumentException(str);
|
throw new IllegalArgumentException(str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removeChildDescriptor(IProblemPreference info) {
|
||||||
|
list.remove(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2009 Alena Laskavaia
|
* Copyright (c) 2009,2010 QNX Software Systems
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Alena Laskavaia - initial API and implementation
|
* QNX Software Systems (Alena Laskavaia) - initial API and implementation
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.codan.core.param;
|
package org.eclipse.cdt.codan.core.param;
|
||||||
|
|
||||||
|
@ -15,17 +15,22 @@ import java.io.StreamTokenizer;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.codan.core.model.AbstractCheckerWithProblemPreferences;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HashParamterInfo - for checker that needs more than one parameter and they
|
* MapProblemPreference - for checker that needs more than one preferences and
|
||||||
* all different "named".
|
* they all differently "named".
|
||||||
* For example checker has 2 optional boolean parameters. For example checker
|
* For example checker for parameter names shadowing would have two boolean
|
||||||
* for parameter names
|
* options:
|
||||||
* shadowing would have two boolean options: "check contructors" and
|
* "check contructors" and
|
||||||
* "check setters". In this case you use this type.
|
* "check setters". In this case you use this type.
|
||||||
|
* {@link AbstractCheckerWithProblemPreferences} class has map as default top
|
||||||
|
* level parameter preference.
|
||||||
*
|
*
|
||||||
|
* @noextend This class is not intended to be extended by clients.
|
||||||
*/
|
*/
|
||||||
public class MapProblemPreference extends AbstractProblemPreference implements
|
public class MapProblemPreference extends AbstractProblemPreference implements
|
||||||
IProblemPreferenceContainer {
|
IProblemPreferenceCompositeValue, IProblemPreferenceCompositeDescriptor {
|
||||||
protected LinkedHashMap<String, IProblemPreference> hash = new LinkedHashMap<String, IProblemPreference>();
|
protected LinkedHashMap<String, IProblemPreference> hash = new LinkedHashMap<String, IProblemPreference>();
|
||||||
|
|
||||||
public MapProblemPreference() {
|
public MapProblemPreference() {
|
||||||
|
@ -57,7 +62,6 @@ public class MapProblemPreference extends AbstractProblemPreference implements
|
||||||
* Get parameter into for element by key
|
* Get parameter into for element by key
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Override
|
|
||||||
public IProblemPreference getChildDescriptor(String key) {
|
public IProblemPreference getChildDescriptor(String key) {
|
||||||
return hash.get(key);
|
return hash.get(key);
|
||||||
}
|
}
|
||||||
|
@ -69,14 +73,12 @@ public class MapProblemPreference extends AbstractProblemPreference implements
|
||||||
* @param i
|
* @param i
|
||||||
* @param info
|
* @param info
|
||||||
*/
|
*/
|
||||||
@Override
|
|
||||||
public void addChildDescriptor(IProblemPreference info) {
|
public void addChildDescriptor(IProblemPreference info) {
|
||||||
IProblemPreference desc = (IProblemPreference) info.clone();
|
IProblemPreference desc = (IProblemPreference) info.clone();
|
||||||
desc.setParent(this);
|
desc.setParent(this);
|
||||||
hash.put(info.getKey(), desc);
|
hash.put(info.getKey(), desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public IProblemPreference[] getChildDescriptors() {
|
public IProblemPreference[] getChildDescriptors() {
|
||||||
return hash.values().toArray(
|
return hash.values().toArray(
|
||||||
new IProblemPreference[hash.values().size()]);
|
new IProblemPreference[hash.values().size()]);
|
||||||
|
@ -150,4 +152,8 @@ public class MapProblemPreference extends AbstractProblemPreference implements
|
||||||
throw new IllegalArgumentException(str);
|
throw new IllegalArgumentException(str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removeChildDescriptor(IProblemPreference info) {
|
||||||
|
hash.remove(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue