Hit.java revision 0
0N/A/*
0N/A * CDDL HEADER START
0N/A *
0N/A * The contents of this file are subject to the terms of the
0N/A * Common Development and Distribution License (the "License").
0N/A * You may not use this file except in compliance with the License.
0N/A *
0N/A * See LICENSE.txt included in this distribution for the specific
0N/A * language governing permissions and limitations under the License.
0N/A *
0N/A * When distributing Covered Code, include this CDDL HEADER in each
0N/A * file and include the License file at LICENSE.txt.
0N/A * If applicable, add the following below this CDDL HEADER, with the
0N/A * fields enclosed by brackets "[]" replaced with your own identifying
0N/A * information: Portions Copyright [yyyy] [name of copyright owner]
0N/A *
0N/A * CDDL HEADER END
0N/A */
0N/A
0N/A/*
0N/A * Copyright 2005 Trond Norbye. All rights reserved.
0N/A * Use is subject to license terms.
0N/A */
0N/Apackage org.opensolaris.opengrok.search;
0N/A
496N/Aimport java.io.File;
0N/A
0N/A/**
0N/A * The hit class represents a single search hit
0N/A *
0N/A * @author Trond Norbye
0N/A */
0N/Apublic class Hit implements Comparable {
0N/A /**
0N/A * Holds value of property filename.
0N/A */
0N/A private String filename;
0N/A
496N/A /**
0N/A * Holds value of property directory
496N/A */
496N/A private String directory;
0N/A
0N/A /**
0N/A * Holds value of property line.
0N/A */
0N/A private String line;
0N/A
0N/A /**
0N/A * Holds value of property lineno.
0N/A */
0N/A private String lineno;
0N/A
0N/A /**
0N/A * Holds value of property binary.
0N/A */
0N/A private boolean binary;
0N/A
0N/A /**
0N/A * Holds value of property alt used to hightlight alternating files.
0N/A */
0N/A private boolean alt;
0N/A
0N/A /**
0N/A * path relative to source root.
0N/A */
0N/A private String path;
0N/A
/**
* Creates a new instance of Hit
*/
public Hit() {
this(null, null, null, false, false);
}
/**
* Creates a new instance of Hit
*
* @param filename The name of the file this hit represents
* @param line The line containing the match
* @param lineno The line number in the file the match was found
* @param binary If this is a binary file or not
*/
public Hit(String filename, String line, String lineno, boolean binary, boolean alt) {
File file = new File(filename);
this.path = filename;
this.filename = file.getName();
this.directory = file.getParent();
if (directory == null) {
directory = "";
}
this.line = line;
this.lineno = lineno;
this.binary = binary;
this.alt = alt;
}
/**
* Getter for property filename.
*
* @return Value of property filename.
*/
public String getFilename() {
return this.filename;
}
/**
* Getter for property path.
*
* @return Value of property path.
*/
public String getPath() {
return this.path;
}
/**
* Getter for property directory
*
* @return Value of property directory
*/
public String getDirectory() {
return this.directory;
}
/**
* Setter for property filename.
*
* @param filename New value of property filename.
*/
public void setFilename(String filename) {
this.filename = filename;
}
/**
* Getter for property line.
*
* @return Value of property line.
*/
public String getLine() {
return this.line;
}
/**
* Setter for property line.
*
* @param line New value of property line.
*/
public void setLine(String line) {
this.line = line;
}
/**
* Getter for property lineno.
*
* @return Value of property lineno.
*/
public String getLineno() {
return this.lineno;
}
/**
* Setter for property lineno.
*
* @param lineno New value of property lineno.
*/
public void setLineno(String lineno) {
this.lineno = lineno;
}
/**
* Compare this object to another hit (in order to implement the comparable
* interface)
*
* @param o The object to compare this object with
*
* @return the result of a toString().compareTo() of the filename
*
* @throws java.lang.ClassCastException if o is an instance of another
* class than Hit
*/
public int compareTo(Object o) throws ClassCastException {
if (o instanceof Hit) {
return getFilename().compareTo(((Hit)o).getFilename());
} else {
throw new ClassCastException("Not an instance of Hit. " +
o.toString() + " " + o.getClass().toString());
}
}
/**
* Getter for property binary.
*
* @return Value of property binary.
*/
public boolean isBinary() {
return this.binary;
}
/**
* Setter for property binary.
*
* @param binary New value of property binary.
*/
public void setBinary(boolean binary) {
this.binary = binary;
}
/**
* Holds value of property tag.
*/
private String tag;
/**
* Getter for property tag.
* @return Value of property tag.
*/
public String getTag() {
return this.tag;
}
/**
* Setter for property tag.
* @param tag New value of property tag.
*/
public void setTag(String tag) {
this.tag = tag;
}
/**
* Should this be alternate file?
*/
public boolean getAlt() {
return alt;
}
}