package net.sourceforge.phpeclipse.builder;
-import net.sourceforge.phpeclipse.mover.obfuscator.PHPIdentifier;
+import net.sourceforge.phpeclipse.obfuscator.PHPIdentifier;
/**
- * @author khartlage
- *
+ *
*/
-public class PHPIdentifierLocation extends PHPIdentifier {
+public class PHPIdentifierLocation extends PHPIdentifier implements Comparable {
+ final public static int UNDEFINED_MATCH = 0;
+ final public static int PATTERN_MATCH = 1;
+ final public static int EXACT_MATCH = 2;
+
+ private int fMatch;
+
private String fClassname;
+
private String fFilename;
+ private int fOffset;
+
+ private int fPHPDocLength;
+
+ private int fPHPDocOffset;
+
+ private String fUsage;
+
public PHPIdentifierLocation(String identifier, int type, String filename) {
this(identifier, type, filename, null);
}
- public PHPIdentifierLocation(String identifier, int type, String filename, String classname) {
- super(identifier, type);
- fFilename = filename;
- fClassname = classname;
- }
- /* (non-Javadoc)
+ public PHPIdentifierLocation(String identifier, int type, String filename,
+ String classname) {
+ super(identifier, type);
+ fFilename = filename;
+ fClassname = classname;
+ fOffset = -1;
+ fPHPDocLength = -1;
+ fPHPDocOffset = -1;
+ fUsage = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object obj) {
- if (!(obj instanceof PHPIdentifierLocation)) {
- return false;
- }
- return super.equals(obj)&&fFilename.equals(((PHPIdentifierLocation)obj).fFilename);
+ if (!(obj instanceof PHPIdentifierLocation)) {
+ return false;
+ }
+ return super.equals(obj)
+ && fFilename.equals(((PHPIdentifierLocation) obj).fFilename);
}
/**
}
/**
+ * @return
+ */
+ public int getOffset() {
+ return fOffset;
+ }
+
+ /**
+ * @return
+ */
+ public int getPHPDocLength() {
+ return fPHPDocLength;
+ }
+
+ /**
+ * @return
+ */
+ public int getPHPDocOffset() {
+ return fPHPDocOffset;
+ }
+
+ /**
+ * @return
+ */
+ public String getUsage() {
+ return fUsage;
+ }
+
+ /**
* @param string
*/
public void setClassname(String string) {
fFilename = string;
}
-}
+ /**
+ * @param i
+ */
+ public void setOffset(int i) {
+ fOffset = i;
+ }
+
+ /**
+ * @param i
+ */
+ public void setPHPDocLength(int i) {
+ fPHPDocLength = i;
+ }
+
+ /**
+ * @param i
+ */
+ public void setPHPDocOffset(int i) {
+ fPHPDocOffset = i;
+ }
+
+ /**
+ * @param string
+ */
+ public void setUsage(String string) {
+ fUsage = string;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#toString()
+ */
+ public String toString() {
+ String result=null;
+ switch (fMatch) {
+ case UNDEFINED_MATCH:
+ result = " [";
+ break;
+ case PATTERN_MATCH:
+ result = " [pattern include][";
+ break;
+ case EXACT_MATCH:
+ result = " [exact include][";
+ break;
+ default:
+ result = "";
+ }
+ return super.toString() + result + fFilename+"]";
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Comparable#compareTo(java.lang.Object)
+ */
+ public int compareTo(Object o) {
+ PHPIdentifierLocation i = (PHPIdentifierLocation)o;
+ if (fMatch>i.fMatch) {
+ return -1;
+ } else if (fMatch<i.fMatch) {
+ return 1;
+ }
+ return fFilename.compareTo(i.fFilename);
+ }
+ /**
+ * @return Returns the match.
+ */
+ public int getMatch() {
+ return fMatch;
+ }
+ /**
+ * @param match The match to set.
+ */
+ public void setMatch(int match) {
+ fMatch = match;
+ }
+}
\ No newline at end of file