Alrite,我会直接跳到代码:
public interface Visitor {
public void visitInventory();
public void visitMaxCount();
public void visitCountry();
public void visitSomethingElse();
public void complete();
//the idea of this visitor is that when a validator would visit it, it would validate data
//when a persister visits it, it would persist data, etc, etc.
// not sure if I making sense here...
}
public interface Visitable {
public void accept(Visitor visitor);
}
Run Code Online (Sandbox Code Playgroud)
这是一个基础实现:
public class StoreValidator implements Visitor {
private List <ValidationError> storeValidationErrors = new ArrayList<ValidationError>(); …Run Code Online (Sandbox Code Playgroud) 有没有办法将'x'秒转换为y小时和z秒,当x超过3600秒时?同样,使用JodaTime时,当x超过60但小于3600秒时,将其转换为"a minutes and b seconds"?我知道我必须在PeriodFormatter中指定我需要的东西,但我不想指定它 - 我想要一个基于秒值的格式化文本.
这与您在论坛上发布的内容类似,然后您的帖子最初将显示为"10秒前发布"... 1分钟后您会看到"发布1分钟20秒前",同样数周,日,年.
我正在尝试在Amazon EC2 小型Linux实例上托管公共网站.我的网站很简单,因为它没有数据库和任何花哨的服务器组件.它只是在Apache网络服务器上托管的一堆普通旧html.
我需要采取哪些安全措施(防火墙配置?,ddos预防?)以防止我的网站被污损或被拒绝访问?我的linux知识有限,所以我很感激这里的任何建议/帮助.
我在Webpshere Application Server 6.1中运行webapp.此webapp具有规则类型的引擎,其中每个规则从websphere数据源池获取其自己的连接.因此,我看到当运行用例时,对于100个输入记录,从池中获得大约400-800个连接并释放回池中.我有一种感觉,如果这个引擎投入生产,可能需要太多时间才能完成处理.
经常从池中获取连接是不好的做法吗?从池中获取连接所涉及的间接成本是多少?我猜测所涉及的成本应该是最小的,因为池只是资源缓存.如果我错了,请纠正我.
这是我使用GridBagLayout布局的:

但是,当我选择一个文件时,应该填充几个标签.这是我使用那些小的"..."按钮选择文件后的样子:

如您所见,整个布局搞砸了.我在actionlistener中所做的就是:
fileTxt = fileChooser.getSelectedFile();
fileTxtField.setText(fileTxt.getAbsolutePath());
labels = getLabels();
lbl1.setText(labels[0].toUpperCase());
Dimension size = lbl1.getPreferredSize();
lbl1.setMinimumSize(size);
lbl1.setPreferredSize(size);
lbl2.setText(labels[1]);
lbl2.setToolTipText(longLbl);
size = lbl2.getPreferredSize();
lbl2.setMinimumSize(size);
lbl2.setPreferredSize(size);
button1.setPreferredSize(new Dimension(20,25));
button2.setPreferredSize(new Dimension(20,25));
Run Code Online (Sandbox Code Playgroud)
因此,基本上,按钮将达到其原始尺寸而不是首选尺寸.这会弄乱整个布局.我该如何解决?所有组件都设置为不填充gridBagConstraints.fill的gridbagconstraint设置为GridBagConstraints.NONE - 但是,布局仍然搞砸了:(
UPDATE
根据你的建议,我删除了调用setPreferredSize()方法的代码,这就是我得到的:

显然,这是我想要避免的 - 一个比它的文本更大的按钮,这是在按钮上设置setPreferredSize的原因.现在我该怎么办?
这是我的班级:
public class MyClassA {
private int mode;
public static int THREAD_MODE=1;
public static int CLUSTER_MODE=2;
public MyClassA(int mode) {
this.mode= mode;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望将我的spring配置xml中的这些信息发送到我的类实例.我如何实现这样的目标?
<bean id="myclass" class="com.test.MyClassA"> <constructor-arg value="MyClassA.THREAD_MODE"/> </bean>
Run Code Online (Sandbox Code Playgroud) 继续我之前的问题,我正在尝试编写一个类似这样的方法
public <T extends LivingThing> T getData(Class<T> clazz, Object otherParam) {
if(clazz instanceof Cat) {
//do something and return a new Cat
}
}
Run Code Online (Sandbox Code Playgroud)
我在if条件上遇到编译器错误"不兼容的条件操作数类型".我究竟做错了什么?如何在我的方法中检查类类型?
UPDATE
好的,我做了一个代码更改以使用isAssignableFrom方法.这是一个新问题.
public <T extends LivingThing> List<T> getData(Class<T> classType) {
LivingThingEnum livingThing = LivingThingEnum
.getLivingThing(classType);
if (livingThings.keySet().contains(livingThing))
return livingThings.get(livingThing);
return null;
}
private Map<LivingThingEnum,List<? extends LivingThing>> livingThings;
Run Code Online (Sandbox Code Playgroud)
这给了我一个类型不匹配! - "无法从列表转换为列表".是不是应该扩展LivingThing,那么在哪种情况下为什么编译器会抛出错误?
这就是我的代码
public interface Initializer<A, B> {
public B init(A input);
}
public abstract class AbstractInitializer<A, B> implements Initializer<A, B> {
private B output;
@Override
public final B init(A input) {
if (output != null)
return output;
return initialize(input);
}
protected abstract B initialize(A input);
}
public class MemoryInitializer<Map, Map> extends AbstractInitializer<Map, Map> {
@Override
protected Map initialize(Map input) {
// TODO Auto-generated method stub
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
最后的具体实现,我希望输入在初始化后映射和输出为映射,抛出编译器错误,表示"重复类型参数映射".我错过了什么?
我正在尝试编写一个触发许多小 lambda 的 lambda 函数
exports.handler = (event, context, callback) => {
var AWS = require('aws-sdk');
let noOfPages = 20, currentPage = 1;
var message = '';
//let payloadArray = [];
while(currentPage <= noOfPages){
message = '{"first_page": '+ currentPage +', "last_page": '+ (currentPage) + ', "file_name" : "something.doc"' +'}';
console.log(message);
var params = {
FunctionName: 'test',
InvocationType: 'Event',
LogType: 'Tail',
Payload: message
};
var convLambda = new AWS.Lambda({
accessKeyId: 'key',
secretAccessKey: 'secret',
region: 'us-west-2'
});
convLambda.invoke(params, function(err, data) {
if …Run Code Online (Sandbox Code Playgroud) 我总是想知道为什么Servlet API中没有removeParameters()方法.这个设计背后的动机可能是什么?这是一个场景:我在一个我不得不使用的专有MVC框架中遇到了挑战.这个框架使用一个Controller Servlet,在它的post方法中托管一个算法:
doPost() {
//create instance of action - just like struts action
action.init
action.preexecution
if(redirection state is not set)
action.process
action.postprocess
action.finish
}
Run Code Online (Sandbox Code Playgroud)
我可以跳过任何特定操作的过程的唯一方法是设置重定向URL.Controller Servlet是FINAL.现在,当我从一个动作的预执行方法执行requestdispatcher.forward时,控制器将继续执行其余的方法,而不是跳过其余的方法.我不能改变这种行为,也不能设置重定向,因为我需要做一个前进.只要我没有将请求转发给同一个动作,它就可以正常工作.当请求转发到同一操作时,http参数都是相同的.这将把它带入一个永无止境的循环.因此,我被迫添加额外的参数,表明它是一个重复请求,应该区别对待.不确定我的问题是否有意义,但认为这是一个发布相同的好论坛.
好.这是一个问题.这是我的收藏:{2,3,4,2,3,5}.我们假设它List现在是一个.我想搜索这个系列的所有比赛'2'.我想索引相同.我知道,有indexOf()和lastIndexOf()的方法List和Arrays.binarySearch().但是,它们都返回一个元素,表示搜索元素的位置.有没有一种简单有效的方法来查找所有匹配项?请注意,此问题不仅限于原始类型.
我是新手flash开发人员,正在竞标一个旨在克隆这个的项目.那么,设计一个让你自定义汽车的工具有多难?我应该擅长什么领域的闪光?真的很擅长?如果您注意到,即使您构建自己的悍马,我在共享的网站的背景中也会发生大量的浏览.
谁能告诉我从哪里开始这个?或者,我应该放弃它,因为新手很难完成它?此外,这类项目涉及什么样的资金?
我正在为 mongodb 中的基本查找而苦苦挣扎。尝试多种组合后,我无法弄清楚出了什么问题。我看到有很多关于 SO 解决它的问题,但在尝试所有答案后没有任何效果。
这是我的用户集合
这是我的物品收藏
每个项目都有一个所有者,它映射到用户集合中用户的 _id。对于我的查询,我试图通过相应的用户获取项目。这是查询
db.items.aggregate([
{
"$lookup" : {
localField : "owner",
from : "users",
foreignField : "_id",
as : "users"
}
}
])
Run Code Online (Sandbox Code Playgroud)
它返回这个 -
我尝试了不同的变化 - 例如
db.items.aggregate([
{
"$lookup" : {
localField : "owner.str",
from : "users",
foreignField : "_id.str",
as : "users"
}
}
])
Run Code Online (Sandbox Code Playgroud)
这导致用户数组填充不正确(所有用户!)。
我究竟做错了什么?
编辑
这是项目集合
{
"_id": {
"$oid": "5b268395c176db1548bd92c2"
},
"title": "Item #1",
"description": "Item 1 Description",
"categories": [
{ …Run Code Online (Sandbox Code Playgroud) java ×9
amazon-ec2 ×1
aws-lambda ×1
collections ×1
flash ×1
generics ×1
instanceof ×1
java-ee ×1
jdbc ×1
jodatime ×1
linux ×1
mongodb ×1
node.js ×1
security ×1
servlets ×1
spring ×1
static-html ×1
swing ×1
websphere ×1