package org.reldb.rel.v0.generator; import org.reldb.rel.v0.types.Type; public abstract class OperatorDefinitionAbstract implements OperatorDefinition { private OperatorSignature signature; private boolean isSpecial = false; private String sourceCode = ""; private String owner = ""; private String createdByType = ""; private References references = new References(); private boolean definedReturnValue = false; public OperatorDefinitionAbstract(String name) { signature = new OperatorSignature(name); } /** Set whether or not this operator has defined a return value via a RETURN statement. */ public void setDefinedReturnValue(boolean flag) { definedReturnValue = flag; } /** Return true if this operator has defined a return value via a RETURN statement. */ public boolean hasDefinedReturnValue() { return definedReturnValue; } /** Set references. */ public void setReferences(References refs) { references = refs; } /** Get references. */ public References getReferences() { return references; } /** Set owner. */ public void setOwner(String owner) { this.owner = owner; } /** Get owner. */ public String getOwner() { return owner; } /** Set source code. */ public void setSourceCode(String source) { sourceCode = source; } /** Get source code. */ public String getSourceCode() { return sourceCode; } /** Set defining type name. */ public void setCreatedByType(String typeName) { createdByType = typeName; } /** Get defining type name. */ public String getCreatedByType() { return createdByType; } /** Get the signature of this operator. */ public OperatorSignature getSignature() { return signature; } /** Mark this as a 'special' hidden operator definition. */ public void setSpecial(boolean flag) { isSpecial = flag; } /** True if this is a 'special' hidden operator definition. */ public boolean isSpecial() { return isSpecial; } /** Set operator return type. */ public void setDeclaredReturnType(Type type) { signature.setReturnType(type); } /** Return this operator's declared return type. Return null if it hasn't been declared. */ public Type getDeclaredReturnType() { return signature.getReturnType(); } /** True if this operator has a return value. */ public boolean hasReturnDeclaration() { return (signature.getReturnType() != null); } public String toString() { return signature.toString(); } }