CallSite.java
/*
** Module : CallSite.java
** Abstract : POJO with the details of a call-site vertex.
**
** Copyright (c) 2017-2018, Golden Code Development Corporation.
**
** -#- -I- --Date-- ---------------------------------Description----------------------------------
** 001 CA 20170612 First version.
** 002 CA 20180509 Added hint field.
*/
/*
** This program is free software: you can redistribute it and/or modify
** it under the terms of the GNU Affero General Public License as
** published by the Free Software Foundation, either version 3 of the
** License, or (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU Affero General Public License for more details.
**
** You may find a copy of the GNU Affero GPL version 3 at the following
** location: https://www.gnu.org/licenses/agpl-3.0.en.html
**
** Additional terms under GNU Affero GPL version 3 section 7:
**
** Under Section 7 of the GNU Affero GPL version 3, the following additional
** terms apply to the works covered under the License. These additional terms
** are non-permissive additional terms allowed under Section 7 of the GNU
** Affero GPL version 3 and may not be removed by you.
**
** 0. Attribution Requirement.
**
** You must preserve all legal notices or author attributions in the covered
** work or Appropriate Legal Notices displayed by works containing the covered
** work. You may not remove from the covered work any author or developer
** credit already included within the covered work.
**
** 1. No License To Use Trademarks.
**
** This license does not grant any license or rights to use the trademarks
** Golden Code, FWD, any Golden Code or FWD logo, or any other trademarks
** of Golden Code Development Corporation. You are not authorized to use the
** name Golden Code, FWD, or the names of any author or contributor, for
** publicity purposes without written authorization.
**
** 2. No Misrepresentation of Affiliation.
**
** You may not represent yourself as Golden Code Development Corporation or FWD.
**
** You may not represent yourself for publicity purposes as associated with
** Golden Code Development Corporation, FWD, or any author or contributor to
** the covered work, without written authorization.
**
** 3. No Misrepresentation of Source or Origin.
**
** You may not represent the covered work as solely your work. All modified
** versions of the covered work must be marked in a reasonable way to make it
** clear that the modified work is not originating from Golden Code Development
** Corporation or FWD. All modified versions must contain the notices of
** attribution required in this license.
*/
package com.goldencode.p2j.report.server;
/**
* Encapsulates the details of a call-site.
*/
public class CallSite
{
/** The file name associated with this call site. */
private String filename;
/** The hint name. */
private String hint;
/** The line location of the call-site. */
private int line;
/** The column location of the call-site. */
private int column;
/***/
private String callSite;
/** The vertex ID in the graph DB. */
private String vertexId;
/** AST root node's id, not the specific call-site's id. */
private long astId;
/** The AST id of the specific call-site's AST node. */
private long nodeId;
/** Allows detection of whether this is a schema or code AST. */
private int srcType;
/** AST token type. */
private int tokenType;
/** AST token text. */
private String tokenText;
/**
* The AST file ID for this call-site reference (and associated with {@link #filename}, in the
* report database.
*/
private int fid;
/**
* Default c'tor.
*/
public CallSite()
{
// no-op
}
/**
* Copy c'tor.
*
* @param cs
* The instance to copy.
*/
public CallSite(CallSite cs)
{
filename = cs.filename;
hint = cs.hint;
line = cs.line;
column = cs.column;
callSite = cs.callSite;
vertexId = cs.vertexId;
astId = cs.astId;
nodeId = cs.nodeId;
srcType = cs.srcType;
tokenType = cs.tokenType;
tokenText = cs.tokenText;
}
/**
* Getter for the {@link #filename} field.
*
* @return See above.
*/
public String getFilename()
{
return filename;
}
/**
* Setter for the {@link #filename} field.
*
* @param filename
* The new field value.
*/
public void setFilename(String filename)
{
filename = filename.replace("'", "'");
this.filename = filename;
}
/**
* Getter for the {@link #hint} field.
*
* @return See above.
*/
public String getHint()
{
return hint;
}
/**
* Setter for the {@link #hint} field.
*
* @param hint
* The new hint value.
*/
public void setHint(String hint)
{
this.hint = hint;
}
/**
* Getter for the {@link #line} field.
*
* @return See above.
*/
public int getLine()
{
return line;
}
/**
* Setter for the {@link #line} field.
*
* @param line
* The new field value.
*/
public void setLine(int line)
{
this.line = line;
}
/**
* Getter for the {@link #column} field.
*
* @return See above.
*/
public int getColumn()
{
return column;
}
/**
* Setter for the {@link #column} field.
*
* @param column
* The new field value.
*/
public void setColumn(int column)
{
this.column = column;
}
/**
* Getter for the {@link #callSite} field.
*
* @return See above.
*/
public String getCallSite()
{
return callSite;
}
/**
* Setter for the {@link #callSite} field.
*
* @param callSite
* The new field value.
*/
public void setCallSite(String callSite)
{
this.callSite = callSite;
}
/**
* Getter for the {@link #vertexId} field.
*
* @return See above.
*/
public String getVertexId()
{
return vertexId;
}
/**
* Setter for the {@link #vertexId} field.
*
* @param vertexId
* The new field value.
*/
public void setVertexId(String vertexId)
{
this.vertexId = vertexId;
}
/**
* Getter for the {@link #astId} field.
*
* @return See above.
*/
public long getAstId()
{
return astId;
}
/**
* Setter for the {@link #astId} field.
*
* @param astId
* The new field value.
*/
public void setAstId(long astId)
{
this.astId = astId;
}
/**
* Getter for the {@link #nodeId} field.
*
* @return See above.
*/
public long getNodeId()
{
return nodeId;
}
/**
* Setter for the {@link #nodeId} field.
*
* @param nodeId
* The new field value.
*/
public void setNodeId(long nodeId)
{
this.nodeId = nodeId;
}
/**
* Getter for the {@link #srcType} field.
*
* @return See above.
*/
public int getSrcType()
{
return srcType;
}
/**
* Setter for the {@link #srcType} field.
*
* @param srcType
* The new field value.
*/
public void setSrcType(int srcType)
{
this.srcType = srcType;
}
/**
* Getter for the {@link #tokenType} field.
*
* @return See above.
*/
public int getTokenType()
{
return tokenType;
}
/**
* Setter for the {@link #tokenType} field.
*
* @param tokenType
* The new field value.
*/
public void setTokenType(int tokenType)
{
this.tokenType = tokenType;
}
/**
* Getter for the {@link #tokenText} field.
*
* @return See above.
*/
public String getTokenText()
{
return tokenText;
}
/**
* Setter for the {@link #tokenText} field.
*
* @param tokenText
* The new field value.
*/
public void setTokenText(String tokenText)
{
this.tokenText = tokenText;
}
/**
* Getter for the {@link #fid} field.
*
* @return See above.
*/
public int getFid()
{
return fid;
}
/**
* Setter for the {@link #fid} field.
*
* @param fid
* The new field value.
*/
public void setFid(int fid)
{
this.fid = fid;
}
}