/*
* Bytecode analysis framework
* Copyright (C) 2005, University of Maryland
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package edu.umd.cs.findbugs.ba.npe;
import edu.umd.cs.findbugs.ba.JavaClassAndMethod;
import edu.umd.cs.findbugs.ba.interproc.ParameterProperty;
public class NonNullSpecification {
private final JavaClassAndMethod classAndMethod;
private final ParameterProperty nonNullProperty;
private final ParameterProperty possiblyNullProperty;
public NonNullSpecification(JavaClassAndMethod classAndMethod, ParameterProperty nonParamProperty,
ParameterProperty possiblyNullProperty) {
this.classAndMethod = classAndMethod;
this.nonNullProperty = nonParamProperty;
this.possiblyNullProperty = possiblyNullProperty;
}
public JavaClassAndMethod getClassAndMethod() {
return classAndMethod;
}
public ParameterProperty getNonNullProperty() {
return nonNullProperty;
}
public ParameterProperty getCheckForNullProperty() {
return possiblyNullProperty;
}
@Override
public String toString() {
StringBuilder buf = new StringBuilder();
buf.append(classAndMethod);
buf.append(":");
if (!nonNullProperty.isEmpty()) {
buf.append(" nonull=");
buf.append(nonNullProperty);
}
if (!possiblyNullProperty.isEmpty()) {
buf.append(" possiblynull=");
buf.append(possiblyNullProperty);
}
return buf.toString();
}
}