小编dom*_*ri7的帖子

如何强制子类调用抽象实现的方法

基本上,我想要做的是强制子类调用抽象超类方法(在子类中实现),因此每次创建新子类时我都不必显式地编写它.

我在超类的构造函数中写了一次,因为我希望它强制它用于每个实现.

public abstract class SupahClass {
    public SupahClass() {
        doStuff(); // It IS executed when the subclass constructor is called
        init(); // NOT executed, even though it's implemented
    }

    private void doStuff() { ... }        

    protected abstract void init();
}

public class SomeSubClass extends SupahClass {

    // The problem lies HERE: this is executed AFTER init() ... so it gets NULL again
    private TextBox myTextBox = null;

    public SomeSubClass() {
        super(); // invokes the super constructor, so …
Run Code Online (Sandbox Code Playgroud)

java inheritance implementation abstract

6
推荐指数
2
解决办法
4646
查看次数

如何使Excel成为手动输入的有效关系数据源?

我使用Excel存储数据类型作为将手动输入的数据的关系数据库(请参阅我的另一个问题:https://stackoverflow.com/questions/9416263/possible-solutions-for-simple-data-persistence - 和 - 手动输入)

然而,到目前为止,我最大的问题是使关系更容易(从手动输入的角度来看).截至目前,我通过使用增量ID引用其他表,但是当您查看这样的外键时,用户不知道对象#42是什么,用户必须去寻找另一个表中的#42为了知道它是什么.

让我举一个例子,假设我们在城市国家之间只有两个表和一对多的关系. 这是我输入数据的方式

问题是我使用articial ID密钥进行关系,但没有任何意义,在添加城市时,我必须在另一个选项卡中检查引用国家/地区的ID.

有没有什么办法可以使用动态组合框来选择使用其他表中数据的国家?如果是这样,它是否可以显示国家/地区名称,但输入ID(因为这是关系的制作方式).

我是否必须将主键更改为国家/地区名称并在必要时删除ID字段?由于某些表是多对多关系的结果,并且由多个外键定义,因此除组合外键或人工ID外,它们没有唯一值.

我希望我足够清楚,我必须承认我是一个Excel新手.

excel data-entry change-tracking foreign-key-relationship qlikview

5
推荐指数
1
解决办法
1万
查看次数

如何声明一个抽象方法,以便参数类型(类)始终是Children类?

编辑:见底部

首先,我在问这个问题之前搜索了一个答案,但正如你所看到的那样,我不知道如何调用它,我会尽可能地编辑问题.请原谅我这个.

我有以下抽象类:

public abstract class ValidableDTO implements Serializable {
    public abstract boolean isValid();
    public abstract boolean equals(ValidableDTO compared);
    // EDIT : new solution
    public abstract <T extends ValidableDTO> boolean equals(T compared);
}
Run Code Online (Sandbox Code Playgroud)

我想得到一个类似的实现:

public class MyDTO extends ValidableDTO {

    private String myValue; //With a getter and setter of course

    public MyDTO() {
        // ...
    }

    @Override
    public boolean isValid() {
        return true; // Validation
    }

// __________ LOOK AT THE FOLLOWING PARAMETER TYPE __________­­
    @Override
    public boolean equals(MyDTO compared) …
Run Code Online (Sandbox Code Playgroud)

java methods inheritance abstract-class

4
推荐指数
1
解决办法
1万
查看次数

强制在浏览器中查看S3 PDF而不是下载

因此,您可以使用强制下载 Content-Disposition: attachment

Content-Disposition: inline 是默认设置,应显示在浏览器中,并且实际上适用于大多数文件,例如PNG,JPG等。

但是由于某种原因,从S3生成预签名URL时,即使我不使用content-disposition:附件标头,PDF文件也始终会强制下载。

我希望能够在浏览器允许的情况下在浏览器中打开PDF

我正在使用来自S3客户端http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html的预签名URL生成调用

amazon-s3 amazon-web-services

3
推荐指数
2
解决办法
3183
查看次数

Bootstrap预先调用ColdFusion

我正在尝试使用Typeahead.js进行简单测试,该测试从coldfusion组件获取其数据,该组件返回带有数据的简单JSON字符串.

这是我的AjaxCtrl.cfc

<cfcomponent output="false">
    <cffunction name="GetParams" access="remote" output="false">
        <cfset objData = [
            {   PARAMCODE = "SYSTEM_PARAM_1", 
                PARAMVAL = "FALSE" 
            },
            {   PARAMCODE = "SYSTEM_PARAM_2",            
                PARAMVAL = true 
            },
            {   PARAMCODE = "SYSTEM_PARAM3",             
                PARAMVAL = "1003" 
            },
            {   PARAMCODE = "SYSTEM_PARAM4",             
                PARAMVAL = 1004 
            }
        ] />
        <cfreturn objData >
    </cffunction>
</cfcomponent>
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试http://localhost/foo/bar/AjaxCtrl.cfc?method=GetParams在浏览器中访问时,我会按预期获得以下输出:

[{"PARAMCODE":"SYSTEM_PARAM_1","PARAMVAL":false},{"PARAMCODE":"SYSTEM_PARAM_2","PARAMVAL":true},{"PARAMCODE":"SYSTEM_PARAM_3","PARAMVAL":1003},{"PARAMCODE":"SYSTEM_PARAM_4","PARAMVAL":1004}]
Run Code Online (Sandbox Code Playgroud)

那么这是我的javascript文件

// constructs the suggestion engine
var engine = new Bloodhound({
  datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.PARAMCODE); },
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  prefetch: "http://localhost/dev/test/djb/AjaxCtrl.cfc?method=GetParams"
  }
);

// kicks …
Run Code Online (Sandbox Code Playgroud)

javascript coldfusion twitter-bootstrap typeahead.js

2
推荐指数
1
解决办法
413
查看次数

ColdFusion修改文本文件中的单行

有没有办法在ColdFusion中编辑文本文件的单行内容?

据我所知,我必须读取并缓冲整个文本文件,然后按原样逐行重写,直到找到我必须修改的行,放入我想要的值,然后继续重写其余的线条原样.

我不喜欢重写整个文件的想法..我想找到一种编辑单行的方法,你有什么建议?

更多细节

基本上我有一个看起来像这样的配置文件

my_own.thingy.blabla1 = "true";
my_own.thingy.bla_bla = 1337;
my_own.thingy.foo_bar_baz = "what ever...";
Run Code Online (Sandbox Code Playgroud)

我的CFC控制器收到"编辑bla_bla到42"之类的请求

我需要

  1. 将配置文件读入变量
  2. bla_bla定义的变量中找到位置
  3. 将子串1337替换为42
  4. 使用包含已修改文件文本的已修改变量重写该文件

我正在寻找一个很好的方法来做第2步和第3步,因为#1和#2是微不足道的

编辑:有人指出我使用JSON,但我不知道这将如何适用于此.

coldfusion file-io edit

1
推荐指数
1
解决办法
947
查看次数

你怎么称呼这种赋值:float aFloat = 4.f;

我想知道你怎么称呼它,我想到了"隐式数据类型",但似乎这真的不是我想象的.

我也想知道Java中的所有可能性,就像我知道你可以为其他数值做这些,比如字节,整数,长整数等.我自己搜索,但我仍然不知道如何定义这个一种数值变量赋值,或者如何命名它.

我对此很好奇,但我还是真的想知道!

提前致谢.

java numerical types

0
推荐指数
1
解决办法
158
查看次数