Skip to content

Commit

Permalink
Merge pull request #555 from JordanMartinez/cleanupSegOps
Browse files Browse the repository at this point in the history
Cleanup seg ops
  • Loading branch information
JordanMartinez committed Aug 1, 2017
2 parents 9bdd822 + 1f11bf0 commit 40ee594
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ public String realGetText(SEG seg) {
}

@Override
public SEG realSubsequence(SEG seg, int start, int end) {
public SEG realSubSequence(SEG seg, int start, int end) {
return seg;
}

@Override
public SEG realSubsequence(SEG seg, int start) {
public SEG realSubSequence(SEG seg, int start) {
return seg;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public final char charAt(SEG seg, int index) {

@Override
public final String getText(SEG seg) {
return seg == empty ? "\0" : realGetText(seg);
return seg == empty ? "" : realGetText(seg);
}
public abstract String realGetText(SEG seg);

Expand All @@ -48,18 +48,18 @@ public final SEG subSequence(SEG seg, int start, int end) {
}
return seg == empty || start == end
? empty
: realSubsequence(seg, start, end);
: realSubSequence(seg, start, end);
}
public abstract SEG realSubsequence(SEG seg, int start, int end);
public abstract SEG realSubSequence(SEG seg, int start, int end);

@Override
public final SEG subSequence(SEG seg, int start) {
return seg == empty || length(seg) == start
? empty
: realSubsequence(seg, start);
: realSubSequence(seg, start);
}
public SEG realSubsequence(SEG seg, int start) {
return realSubsequence(seg, start, length(seg));
public SEG realSubSequence(SEG seg, int start) {
return realSubSequence(seg, start, length(seg));
}

@Override
Expand All @@ -75,7 +75,7 @@ public final SEG setStyle(SEG seg, S style) {
public abstract SEG realSetStyle(SEG seg, S style);

@Override
public final Optional<SEG> join(SEG currentSeg, SEG nextSeg) {
public Optional<SEG> join(SEG currentSeg, SEG nextSeg) {
return Optional.empty();
}

Expand Down
31 changes: 12 additions & 19 deletions richtextfx/src/main/java/org/fxmisc/richtext/model/StyledText.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,43 +23,41 @@ public class StyledText<S> {
* of {@link org.fxmisc.richtext.GenericStyledArea} and similar classes if you are using this class as the SEG type.
*/
public static <S> TextOps<StyledText<S>, S> textOps() {
return new TextOps<StyledText<S>, S>() {

private final StyledText<S> emptySeg = new StyledText<>("", null);
return new TextOpsBase<StyledText<S>, S>(new StyledText<>("", null)) {

@Override
public int length(StyledText<S> styledText) {
public int realLength(StyledText<S> styledText) {
return styledText.getText().length();
}

@Override
public char charAt(StyledText<S> styledText, int index) {
return styledText == emptySeg ? '\0' : styledText.getText().charAt(index);
public char realCharAt(StyledText<S> styledText, int index) {
return styledText.getText().charAt(index);
}

@Override
public String getText(StyledText<S> styledText) {
public String realGetText(StyledText<S> styledText) {
return styledText.getText();
}

@Override
public StyledText<S> subSequence(StyledText<S> styledText, int start, int end) {
return styledText == emptySeg ? emptySeg : new StyledText<>(styledText.getText().substring(start, end), styledText.getStyle());
public StyledText<S> realSubSequence(StyledText<S> styledText, int start, int end) {
return new StyledText<>(styledText.getText().substring(start, end), styledText.getStyle());
}

@Override
public StyledText<S> subSequence(StyledText<S> styledText, int start) {
return styledText == emptySeg ? emptySeg : new StyledText<>(styledText.getText().substring(start), styledText.getStyle());
public StyledText<S> realSubSequence(StyledText<S> styledText, int start) {
return new StyledText<>(styledText.getText().substring(start), styledText.getStyle());
}

@Override
public S getStyle(StyledText<S> styledText) {
public S realGetStyle(StyledText<S> styledText) {
return styledText.getStyle();
}

@Override
public StyledText<S> setStyle(StyledText<S> seg, S style) {
return seg == emptySeg ? emptySeg : seg.setStyle(style);
public StyledText<S> realSetStyle(StyledText<S> seg, S style) {
return seg.setStyle(style);
}

@Override
Expand All @@ -69,11 +67,6 @@ public Optional<StyledText<S>> join(StyledText<S> left, StyledText<S> right) {
: Optional.empty();
}

@Override
public StyledText<S> createEmpty() {
return emptySeg;
}

@Override
public StyledText<S> create(String text, S style) {
return new StyledText<>(text, style);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package org.fxmisc.richtext.model;

public abstract class TextOpsBase<SEG, S> extends SegmentOpsBase<SEG, S> implements TextOps<SEG, S> {

TextOpsBase(SEG empty) {
super(empty);
}
}

0 comments on commit 40ee594

Please sign in to comment.