📄 toreadonly.java
字号:
package com.sri.oaa2.icl;
public class ToReadOnly implements OaaPrologVisitor
{
/// Our singleton instance
private static final ToReadOnly singleton = new ToReadOnly();
protected ToReadOnly()
{
}
public Object visit(IclTerm node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
node.childrenAccept(this, data);
return null;
}
public Object visit(IclStruct node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
node.childrenAccept(this, data);
return null;
}
public Object visit(IclList node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
node.childrenAccept(this, data);
return null;
}
public Object visit(IclGroup node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
node.childrenAccept(this, data);
return null;
}
public Object visit(IclInt node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
return null;
}
public Object visit(IclFloat node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
return null;
}
public Object visit(IclStr node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
return null;
}
public Object visit(IclVar node, Object data)
{
node.setReadOnly(((Boolean)data).booleanValue());
return null;
}
/**
* Get an instance of a ToReadOnly object. This avoids multiple calls to the constructor.
* ToReadOnly is thread safe.
*/
public static ToReadOnly getInstance()
{
return singleton;
}
/**
* Make an IclTerm readonly. This will also make all its children readonly.
*
* @param IclTerm t: the term to convert
* @return IclTerm: t as a readonly object
*/
public IclTerm from(IclTerm t)
{
t.accept(this, new Boolean(true));
return t;
}
public IclTerm from(IclTerm t, boolean readOnly)
{
t.accept(this, new Boolean(readOnly));
return t;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -