当我运行时git add -p,有没有办法让git选择新制作的文件作为选择?
因此,如果我创建一个新文件foo.java,然后运行git add -p,git将不允许我选择要添加到索引中的文件内容.
我有一个自定义生成器,只为我的项目中的某些类生成代码.下面的代码位于generate方法的开头,并将我需要处理的所有类放在clazzes列表中
TypeOracle oracle = context.getTypeOracle();
JClassType markerInterfaceType = oracle.findType(MY_PARENT_CLASS.class.getName());
List<JClassType> clazzes = new ArrayList<JClassType>();
for (JClassType classType : oracle.getTypes()) {
if (!classType.equals(markerInterfaceType)
&& classType.isAssignableTo(markerInterfaceType)) {
clazzes.add(classType);
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码已经保存了一年多,但自上周以来,似乎发电机没有考虑到几个等级.
经过一番挖掘,我发现那些类甚至不在返回的列表中 oracle.getTypes()
oracle.findType(MISSING_CLASS.class.getName()) 回报 null我最好的猜测是我在某处有缓存问题,但我不知道在哪里看.
我有这种情况
@XmlType(name ="", propOrder={"value"})
@XmlRootElement(name = "compound")
public class Compound extends Value {
@XmlElements({
@XmlElement(name="simple", type=Simple.class),
@XmlElement(name="compound", type=Compound.class)
})
protected List<Value> value;
// ...
}
Run Code Online (Sandbox Code Playgroud)
因此,化合物是简单和/或化合物的列表.两者都从定义为的Value扩展
public abstract class Value implements Serializable {}
Run Code Online (Sandbox Code Playgroud)
Simple是一个标有适配器的类,用于编组/解组简单字符串
@XmlJavaTypeAdapter(SimpleAdapter.class)
public class Simple extends Value {
private java.lang.String simple;
// ...
}
Run Code Online (Sandbox Code Playgroud)
化合物不需要适配器.
问题是,如果我使用简单'原样',它正确编组/解组为
<simple>my.text.here</simple>
Run Code Online (Sandbox Code Playgroud)
但如果我在化合物中使用它,它会输出类似的东西
<compound>
//...
<simple>
<value>my.text.here</value>
</simple>
//...
</compound>
Run Code Online (Sandbox Code Playgroud)
而我只是想知道为什么......我会错过什么吗?我怎样才能删除那个"价值"?在我看来,根本没有使用适配器,是否可以在@XmlElements内标记的类型中使用适配器?
编辑
经过几次测试后,我发现问题可能在于我如何处理Simple实例.所以我简化了我的初步问题:
鉴于像一个简单的类
@XmlRootElement("simple")
public class Simple {
private java.lang.String innerText;
// getters/setters
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得像编组一样的编组输出
<simple>
my.inner.text.here
</simple>
Run Code Online (Sandbox Code Playgroud)
代替
<simple>
<value>my.inner.text.here</value> …Run Code Online (Sandbox Code Playgroud) 当使用TableBuilder创建行和亚行,如预期选择模型不能正常工作.单击子视图的复选框时,未选择该行,但是,将选择父行.
我尝试过载onBrowserEvent的CheckboxCell,以人工处理的选择,但似乎在DataGrid本身按checkboxcell时触发选择事件.
如果行和子行来自相同类型,如何添加支持行和子行的选择模型?
我用 preventDefault 停止了一个事件。现在我想重新抛出它。我尝试了 fireEvent 但这没有用。有没有办法实现这一目标?
更新 我创建了一个新的事件实例并使用了 elem.dispatchEvent(clickEvent); 而不是 fire 事件。
Event.addNativePreviewHandler(new Event.NativePreviewHandler()
{
public void onPreviewNativeEvent(NativePreviewEvent event)
{
if (event.getTypeInt() == Event.ONMOUSEDOWN)
{
Element elem = JSHelper.elementFromPoint(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY());
EventListener listener = Event.getEventListener(elem);
if((listener instanceof ListBox))
{
event.getNativeEvent().preventDefault();
//// ((ListBox) listener).fireEvent(event);
int y = event.getNativeEvent().getClientY();
int x = event.getNativeEvent().getClientX();
int screenX = event.getNativeEvent().getScreenX();
int screenY = event.getNativeEvent().getScreenY();
NativeEvent clickEvent = Document.get().createMouseEvent(
"click",true, false,0, screenX, screenY, x, y, false, false,
false, false, NativeEvent.BUTTON_LEFT, elem);
elem.dispatchEvent(clickEvent);
}
}
}
});
Run Code Online (Sandbox Code Playgroud)