mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
more clear breakpoint serialization format
This commit is contained in:
@@ -20,6 +20,8 @@ import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.JDOMExternalizable;
|
||||
import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.ui.classFilter.ClassFilter;
|
||||
import com.intellij.util.xmlb.annotations.Attribute;
|
||||
import com.intellij.util.xmlb.annotations.Tag;
|
||||
import com.intellij.util.xmlb.annotations.Transient;
|
||||
import org.jdom.Element;
|
||||
|
||||
@@ -28,10 +30,13 @@ import org.jdom.Element;
|
||||
* Date: Aug 29, 2003
|
||||
* Time: 2:49:27 PM
|
||||
*/
|
||||
@Tag("instance-filter")
|
||||
public class InstanceFilter implements JDOMExternalizable{
|
||||
public static final InstanceFilter[] EMPTY_ARRAY = new InstanceFilter[0];
|
||||
|
||||
|
||||
@Attribute("id")
|
||||
public long ID = 0;
|
||||
@Attribute("enabled")
|
||||
public boolean ENABLED = true;
|
||||
|
||||
public InstanceFilter() {
|
||||
@@ -47,6 +52,7 @@ public class InstanceFilter implements JDOMExternalizable{
|
||||
return ID;
|
||||
}
|
||||
|
||||
@Transient
|
||||
public boolean isEnabled() {
|
||||
return ENABLED;
|
||||
}
|
||||
|
||||
+13
@@ -17,6 +17,9 @@ package org.jetbrains.java.debugger.breakpoints.properties;
|
||||
|
||||
import com.intellij.debugger.InstanceFilter;
|
||||
import com.intellij.ui.classFilter.ClassFilter;
|
||||
import com.intellij.util.xmlb.annotations.AbstractCollection;
|
||||
import com.intellij.util.xmlb.annotations.OptionTag;
|
||||
import com.intellij.util.xmlb.annotations.Tag;
|
||||
import com.intellij.xdebugger.breakpoints.XBreakpointProperties;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -24,16 +27,22 @@ import org.jetbrains.annotations.Nullable;
|
||||
* @author egor
|
||||
*/
|
||||
public class JavaBreakpointProperties<T extends JavaBreakpointProperties> extends XBreakpointProperties<T> {
|
||||
@OptionTag("count-filter-enabled")
|
||||
public boolean COUNT_FILTER_ENABLED = false;
|
||||
@OptionTag("count-filter")
|
||||
public int COUNT_FILTER = 0;
|
||||
|
||||
@OptionTag("class-filters-enabled")
|
||||
public boolean CLASS_FILTERS_ENABLED = false;
|
||||
private ClassFilter[] myClassFilters;
|
||||
private ClassFilter[] myClassExclusionFilters;
|
||||
|
||||
@OptionTag("instance-filters-enabled")
|
||||
public boolean INSTANCE_FILTERS_ENABLED = false;
|
||||
private InstanceFilter[] myInstanceFilters;
|
||||
|
||||
@Tag("instance-filters")
|
||||
@AbstractCollection(surroundWithTag = false)
|
||||
public InstanceFilter[] getInstanceFilters() {
|
||||
return myInstanceFilters != null ? myInstanceFilters : InstanceFilter.EMPTY_ARRAY;
|
||||
}
|
||||
@@ -49,6 +58,8 @@ public class JavaBreakpointProperties<T extends JavaBreakpointProperties> extend
|
||||
myInstanceFilters = filters;
|
||||
}
|
||||
|
||||
@Tag("class-filters")
|
||||
@AbstractCollection(surroundWithTag = false)
|
||||
public final ClassFilter[] getClassFilters() {
|
||||
return myClassFilters != null ? myClassFilters : ClassFilter.EMPTY_ARRAY;
|
||||
}
|
||||
@@ -57,6 +68,8 @@ public class JavaBreakpointProperties<T extends JavaBreakpointProperties> extend
|
||||
myClassFilters = classFilters;
|
||||
}
|
||||
|
||||
@Tag("class-exclusion-filters")
|
||||
@AbstractCollection(surroundWithTag = false)
|
||||
public ClassFilter[] getClassExclusionFilters() {
|
||||
return myClassExclusionFilters != null ? myClassExclusionFilters : ClassFilter.EMPTY_ARRAY;
|
||||
}
|
||||
|
||||
+2
-2
@@ -25,10 +25,10 @@ public class JavaFieldBreakpointProperties extends JavaBreakpointProperties<Java
|
||||
public boolean WATCH_MODIFICATION = true;
|
||||
public boolean WATCH_ACCESS = false;
|
||||
|
||||
@Attribute("field_name")
|
||||
@Attribute("field")
|
||||
public String myFieldName;
|
||||
|
||||
@Attribute("class_name")
|
||||
@Attribute("class")
|
||||
public String myClassName;
|
||||
|
||||
public JavaFieldBreakpointProperties(String fieldName, String className) {
|
||||
|
||||
@@ -21,17 +21,22 @@ import com.intellij.openapi.util.DefaultJDOMExternalizer;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import com.intellij.openapi.util.JDOMExternalizable;
|
||||
import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.util.xmlb.annotations.Attribute;
|
||||
import com.intellij.util.xmlb.annotations.Tag;
|
||||
import com.intellij.util.xmlb.annotations.Transient;
|
||||
import org.jdom.Element;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@Tag("class-filter")
|
||||
public class ClassFilter implements JDOMExternalizable, Cloneable{
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.ui.classFilter.ClassFilter");
|
||||
public static final ClassFilter[] EMPTY_ARRAY = new ClassFilter[0];
|
||||
|
||||
@Attribute("pattern")
|
||||
public String PATTERN = "";
|
||||
@Attribute("enabled")
|
||||
public boolean ENABLED = true;
|
||||
private Matcher myMatcher; // to speedup matching
|
||||
|
||||
|
||||
Reference in New Issue
Block a user