小编Tec*_*ium的帖子

如何迭代Google Closure中的枚举值?

我正在尝试找到迭代Google Closure中定义的枚举上的所有值的最佳方法.假设我定义了以下枚举:

/**
 * @enum {number}
 */
sample.namespace.Fruit = {
  Orange: 0,
  Apple: 1,
  Banana: 2
};
Run Code Online (Sandbox Code Playgroud)

现在,我看到这样做的最好方法是这样的:

for (var key in sample.namespace.Fruit) {
    var fruit = /** @type {sample.namespace.Fruit} */ (sample.namespace.Fruit[key]);
    // Make a smoothie or something.
}
Run Code Online (Sandbox Code Playgroud)

我觉得读书很痛苦.我正在列出一个名称空间三次,只是为了让编译器出现.我应该使用另一种迭代技术吗?这是完成这种迭代形式的最佳方法吗?

javascript iteration enums google-closure google-closure-library

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

Salesforce.com如何验证电子邮件字段?

我正在尝试从另一个允许指定无效电子邮件地址的服务中存储Salesforce.com中的电子邮件地址.如果其中一个错误的无效电子邮件地址通过其Web服务API发送到Salesforce.com,Salesforce.com将阻止使用INVALID_EMAIL_ADDRESS错误代码保存该记录.

我找不到任何关于如何在电子邮件字段上禁用验证的文档,因此看起来我需要在集成中验证它们并提取失败的那些.有没有人知道Salesforce.com用来确定电子邮件地址是否有效的验证过程?我现在所拥有的只是一个正则表达式,但我希望它与Salesforce.com的流程相匹配.

编辑:作为参考,这是我的正则表达式(我正在使用C#/.NET):

^(\w|[!#$%'*+-/=?^_`\{\}~.&])+@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*$
Run Code Online (Sandbox Code Playgroud)

salesforce email-validation

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

如何确定Salesforce.com中的字段是否存储整数?

我正在编写Salesforce.com和另一个服务之间的集成,我遇到了整数字段的问题.在Salesforce.com中,我定义了一个"Number"类型的字段,其中"Decimal Places"设置为"0".在另一个服务中,它最终存储为整数.这两个字段应该存储相同的整数数值.

一旦我将值存储在此字段的Salesforce.com变体中,就会出现问题.Salesforce.com将从其操作返回相同的值,Query()并且QueryAll()错误地附加精度.

例如,如果我在Salesforce.com中为此字段插入值"827",那么当我稍后从Salesforce.com中提取该数字时,它会说该值为"827.0".

我不想硬编码我的集成以从特定字段中删除这些小数值.这是不可维护的.我希望它足够聪明,可以在集成代码的其余部分运行之前从所有整数字段中删除十进制值.使用Salesforce.com SOAP API,我将如何实现这一目标?

我假设这将与DescribeSObject()我的"Field"属性有关,我可以扫描元数据,但我没有看到从DescribeSObjectResult中提取小数位数的方法.

soap salesforce soql

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

如何在 HK2 中定义“默认”实现?

我正在使用 HK2 来解决我的 Jersey / Jetty Web 服务中服务的依赖关系。我有一种情况,对于一个特定的接口,我想使用特定的实现作为“默认”实现。“默认”我的意思是没有名称或限定符 - 如果您没有在字段或参数顶部指定任何注释,这就是您得到的。但是,在一些非常特殊的情况下,我想提供一个可以使用注释限定的替代实现。

作为我的实验的结果,我实际上通过ranked()在绑定中使用限定符来可靠地工作。看起来最高等级成为默认值。但是,我不明白它为什么起作用,而且我担心我正在编写依赖于 HK2 未记录的实现细节的代码,当我们更新版本时,该细节可能会发生变化。

这是我正在做的事情的有趣部分的人为示例。ranked()什么,我应该使用指定的“默认”和服务的注释变种?我应该使用另一种技术吗?

public interface IFoo {
    public String getString();
}

public class DefaultImpl implements IFoo {
    public String getString() {
        return "Default Implementation";
    }
}

public class AnnotatedImpl implements IFoo {
    public String getString() {
        return "Annotated Implementation";
    }
}

public class Bindings extends AbstractBinder {

     @Override
     public void configure() {
         ServiceBindingBuilder<DefaultImpl> defaultImpl =
             bind(DefaultImpl.class)
                 .to(IFoo.class);

         defaultImpl.ranked(9);

         ServiceBindingBuilder<AnnotatedImpl> annotatedImpl =
             bind(AnnotatedImpl.class)
                 .qualifiedBy(new MyAnnotationQualifier()) …
Run Code Online (Sandbox Code Playgroud)

java dependency-injection jersey dependency-management hk2

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