PLSQL/Folding/src/org/netbeans/modules/plsql/fold/FoldSearchObject.java
author Subhashini Sooriarachchi <subslk@netbeans.org>
Mon, 12 Aug 2013 11:26:54 +0530
changeset 464 e10b2e8563fc
parent 360 612b49b47f2f
permissions -rw-r--r--
EADS-3749 encountering issues with the displaying of code in Developer Studio when code folding is enabled
     1 /*
     2  * To change this template, choose Tools | Templates
     3  * and open the template in the editor.
     4  */
     5 package org.netbeans.modules.plsql.fold;
     6 
     7 import java.io.Serializable;
     8 import org.netbeans.api.editor.fold.FoldType;
     9 
    10 /**
    11  *
    12  * @author ChrLSE
    13  */
    14 class FoldSearchObject implements Serializable {
    15 
    16    private static final long serialVersionUID = 1L;
    17    private final int startOffset;
    18    private final int endOffset;
    19    private FoldType foldType;
    20    private FoldAdapter fold;
    21 
    22    FoldSearchObject(int startOffset, int endOffset, FoldType foldType) {
    23       this.startOffset = startOffset;
    24       this.endOffset = endOffset;
    25       this.foldType = foldType;
    26    }
    27 
    28    FoldSearchObject(FoldAdapter fold) {
    29       this(-1, -1,null);
    30       this.fold = fold;
    31    }
    32 
    33    public int getStartOffset() {
    34       if (startOffset == -1) {
    35          return fold.getStartOffset();
    36       }
    37       return startOffset;
    38    }
    39 
    40    public int getEndOffset() {
    41       if (endOffset == -1) {
    42          return fold.getEndOffset();
    43       }
    44       return endOffset;
    45    }
    46    
    47    public FoldType getFoldType(){
    48        if (foldType == null) {
    49          return fold.getFoldType();
    50       }
    51       return foldType;
    52    }
    53    
    54    @Override
    55    public int hashCode() {
    56       int hash = 7;
    57       hash = 13 * hash + this.getStartOffset();
    58       hash = 13 * hash + this.getEndOffset();
    59       return hash;
    60    }
    61 
    62    @Override
    63    public boolean equals(Object obj) {
    64       if (obj == null) {
    65          return false;
    66       }
    67       if (getClass() != obj.getClass()) {
    68          return false;
    69       }
    70       final FoldSearchObject other = (FoldSearchObject) obj;
    71       if (this.getStartOffset() != other.getStartOffset()) {
    72          return false;
    73       }
    74       if (this.getEndOffset() != other.getEndOffset()) {
    75          return false;
    76       }
    77       return true;
    78    }
    79 
    80    @Override
    81    public String toString() {
    82       return "FoldSearchObject{" + "startOffset=" + getStartOffset() + ", endOffset=" + getEndOffset() + '}';
    83    }
    84 }