private bool inRange(IAC_Range range) { if (!(range.value is java.lang.annotation.Annotation)) { return(true); } return(range.start >= begin && range.start < end && range.end > begin && range.end <= end); }
private System.Object currentValue(java.util.List <IAC_Range> ranges) { java.util.Iterator <IAC_Range> it = ranges.iterator(); while (it.hasNext()) { IAC_Range range = it.next(); if (offset >= range.start && offset < range.end) { return(inRange(range) ? range.value : null); } } return(null); }
private bool inRange(java.util.List <IAC_Range> ranges) { java.util.Iterator <IAC_Range> it = ranges.iterator(); while (it.hasNext()) { IAC_Range range = it.next(); if (range.start >= begin && range.start < end) { return(!(range.value is java.lang.annotation.Annotation) || (range.end > begin && range.end <= end)); } else if (range.end > begin && range.end <= end) { return(!(range.value is java.lang.annotation.Annotation) || (range.start >= begin && range.start < end)); } } return(false); }
private int runStart(java.util.List <IAC_Range> ranges) { int result = begin; java.util.Iterator <IAC_Range> it = ranges.iterator(); while (it.hasNext()) { IAC_Range range = it.next(); if (range.start >= end) { break; } if (offset >= range.start && offset < range.end) { return(inRange(range) ? range.start : result); } else if (offset < range.start) { break; } result = range.end; } return(result); }
private int runLimit(java.util.List <IAC_Range> ranges) { int result = end; java.util.ListIterator <IAC_Range> it = ranges.listIterator(ranges.size()); while (it.hasPrevious()) { IAC_Range range = it.previous(); if (range.end <= begin) { break; } if (offset >= range.start && offset < range.end) { return(inRange(range) ? range.end : result); } else if (offset >= range.end) { break; } result = range.start; } return(result); }
/** * Applies a given attribute to the given range of this string. * * @param attribute * the attribute that will be applied to this string. * @param value * the value of the attribute that will be applied to this * string. * @param start * the start of the range where the attribute will be applied. * @param end * the end of the range where the attribute will be applied. * @throws IllegalArgumentException * if {@code start < 0}, {@code end} is greater than the length * of this string, or if {@code start >= end}. * @throws NullPointerException * if {@code attribute} is {@code null}. */ public void addAttribute(AttributedCharacterIteratorNS.Attribute attribute, System.Object value, int start, int end) { if (null == attribute) { throw new java.lang.NullPointerException(); } if (start < 0 || end > text.Length || start >= end) { throw new java.lang.IllegalArgumentException(); } if (value == null) { return; } java.util.List <IAC_Range> ranges = attributeMap.get(attribute); if (ranges == null) { ranges = new java.util.ArrayList <IAC_Range>(1); ranges.add(new IAC_Range(start, end, value)); attributeMap.put(attribute, ranges); return; } java.util.ListIterator <IAC_Range> it = ranges.listIterator(); while (it.hasNext()) { IAC_Range range = it.next(); if (end <= range.start) { it.previous(); break; } else if (start < range.end || (start == range.end && value.Equals(range.value))) { IAC_Range r1 = null, r3; it.remove(); r1 = new IAC_Range(range.start, start, range.value); r3 = new IAC_Range(end, range.end, range.value); while (end > range.end && it.hasNext()) { range = it.next(); if (end <= range.end) { if (end > range.start || (end == range.start && value.Equals(range.value))) { it.remove(); r3 = new IAC_Range(end, range.end, range.value); break; } } else { it.remove(); } } if (value.Equals(r1.value)) { if (value.Equals(r3.value)) { it.add(new IAC_Range(r1.start <start?r1.start : start, r3.end> end ? r3.end : end, r1.value)); } else { it.add(new IAC_Range(r1.start < start ? r1.start : start, end, r1.value)); if (r3.start < r3.end) { it.add(r3); } } } else { if (value.Equals(r3.value)) { if (r1.start < r1.end) { it.add(r1); } it.add(new IAC_Range(start, r3.end > end ? r3.end : end, r3.value)); } else { if (r1.start < r1.end) { it.add(r1); } it.add(new IAC_Range(start, end, value)); if (r3.start < r3.end) { it.add(r3); } } } return; } } it.add(new IAC_Range(start, end, value)); }
private bool inRange(IAC_Range range) { if (!(range.value is java.lang.annotation.Annotation)) { return true; } return range.start >= begin && range.start < end && range.end > begin && range.end <= end; }
/** * Applies a given attribute to the given range of this string. * * @param attribute * the attribute that will be applied to this string. * @param value * the value of the attribute that will be applied to this * string. * @param start * the start of the range where the attribute will be applied. * @param end * the end of the range where the attribute will be applied. * @throws IllegalArgumentException * if {@code start < 0}, {@code end} is greater than the length * of this string, or if {@code start >= end}. * @throws NullPointerException * if {@code attribute} is {@code null}. */ public void addAttribute(AttributedCharacterIteratorNS.Attribute attribute, System.Object value, int start, int end) { if (null == attribute) { throw new java.lang.NullPointerException(); } if (start < 0 || end > text.Length || start >= end) { throw new java.lang.IllegalArgumentException(); } if (value == null) { return; } java.util.List<IAC_Range> ranges = attributeMap.get(attribute); if (ranges == null) { ranges = new java.util.ArrayList<IAC_Range>(1); ranges.add(new IAC_Range(start, end, value)); attributeMap.put(attribute, ranges); return; } java.util.ListIterator<IAC_Range> it = ranges.listIterator(); while (it.hasNext()) { IAC_Range range = it.next(); if (end <= range.start) { it.previous(); break; } else if (start < range.end || (start == range.end && value.Equals(range.value))) { IAC_Range r1 = null, r3; it.remove(); r1 = new IAC_Range(range.start, start, range.value); r3 = new IAC_Range(end, range.end, range.value); while (end > range.end && it.hasNext()) { range = it.next(); if (end <= range.end) { if (end > range.start || (end == range.start && value.Equals(range.value))) { it.remove(); r3 = new IAC_Range(end, range.end, range.value); break; } } else { it.remove(); } } if (value.Equals(r1.value)) { if (value.Equals(r3.value)) { it.add(new IAC_Range(r1.start < start ? r1.start : start, r3.end > end ? r3.end : end, r1.value)); } else { it.add(new IAC_Range(r1.start < start ? r1.start : start, end, r1.value)); if (r3.start < r3.end) { it.add(r3); } } } else { if (value.Equals(r3.value)) { if (r1.start < r1.end) { it.add(r1); } it.add(new IAC_Range(start, r3.end > end ? r3.end : end, r3.value)); } else { if (r1.start < r1.end) { it.add(r1); } it.add(new IAC_Range(start, end, value)); if (r3.start < r3.end) { it.add(r3); } } } return; } } it.add(new IAC_Range(start, end, value)); }