小编Spo*_*ted的帖子

将同一实体映射到不同的表

一点领域知识

我正在编写一个 POS(销售点)软件,它允许支付货物或退款。在付款或退款时,需要指定使用哪种汇款方式:现金、EFT(~=信用卡)、会员卡、代金券等。

这些汇款方式是一组有限且已知的值(一种枚举)。

棘手的部分是我需要能够在 POS 终端上存储这些方式的自定义子集,用于付款和退款(两组可能不同)。

例如:

  • 可用的付款方式:现金、电子转帐、会员卡、代金券
  • 可用退款方式:现金、代金券

实施现状

我选择实现汇款方式的概念如下:

public abstract class MoneyTransferMean : AggregateRoot
{
    public static readonly MoneyTransferMean Cash = new CashMoneyTransferMean();
    public static readonly MoneyTransferMean EFT = new EFTMoneyTransferMean();
    // and so on...

    //abstract method

    public class CashMoneyTransferMean : MoneyTransferMean
    {
        //impl of abstract method
    }

    public class EFTMoneyTransferMean : MoneyTransferMean
    {
        //impl of abstract method
    }

    //and so on...
}
Run Code Online (Sandbox Code Playgroud)

它不是“普通枚举”的原因是这些类内部存在一些行为。我还必须将内部类声明为 public(而不是私有),以便在 FluentNHibernate 映射中引用它们(见下文)。

如何使用

支付和退款手段总是作为一个集合存储在/从数据库中检索。它们实际上是两个不同的集合,即使两个集合中的某些值可能相同。

用例 1:定义一组新的支付/退款方式

  • 删除所有现有的支付/退款方式
  • 插入新的

用例2:检索所有支付/退款方式 …

c# nhibernate domain-driven-design fluent-nhibernate fluent-nhibernate-mapping

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

JavaFX 2.2对.ico的图像支持?

我正在开发一个必须有自定义图标的应用程序.所提供的图标在所有尺寸(256x256,48x48,32x32)中都是相同的,除了在16x16中图标被简化.

我想到了.ico格式(我可以存储所有不同的图标并让操作系统显示最佳)但javafx.scene.image似乎没有支持它(我还没有找到任何关于它的确认) ).

以下是我设置图标的方法

stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon.ico")));
Run Code Online (Sandbox Code Playgroud)

在这种情况下,永远不会显示图标.如果我将此图标转换为.png图像,则可以使用,但强制始终显示相同的图标(即使在16x16中).

在JavaFX 2.2中是否有一种方法可以显示.ico(即使是以hacky方式),还是我必须使用其他图像格式?

更新

我将.ico分成多个png(每个大小一个),然后逐个加载它们.

stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon_16x16.png")));
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon_256x256.png")));
Run Code Online (Sandbox Code Playgroud)

256x256和16x16是两个不同的图像,但16x16从未显示在应用程序的左上角(尽管这是最接近的大小).

image ico javafx-2

7
推荐指数
2
解决办法
3511
查看次数

“独特粒子属性”违规

我编写了以下(简化的)模式来验证我收到的一些 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xs:element name="Param">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="RadioAddr" type="xs:string" />
                <xs:element name="DataToRead" type="xs:integer" minOccurs="0" maxOccurs="1" />
                <xs:choice minOccurs="0" maxOccurs="1">
                    <xs:group ref="Group1" />
                    <xs:group ref="Group2" />
                    <xs:group ref="Group3" />
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:group name="Group1">
        <xs:sequence>
            <xs:element ref="Password" />
            <xs:element name="RadioActivated" type="xs:integer" minOccurs="0" maxOccurs="1" />
            <xs:element ref="IdNumber" minOccurs="0" maxOccurs="1" />
            <xs:element ref="AdjustClock" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
    </xs:group>

    <xs:group name="Group2">
        <xs:sequence>
            <xs:element ref="IdNumber" minOccurs="0" maxOccurs="1" />
            <xs:element ref="Password" />
            <xs:element ref="AdjustClock" minOccurs="0" maxOccurs="1" />
        </xs:sequence> …
Run Code Online (Sandbox Code Playgroud)

xml validation xsd

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

Java-将字符串值转换为整数

我从API获取json数据作为String但我想将其存储在DB中并将其用作整数.例如,我得到A = 15K或15M,但我想要15000.

这是我的课

public class JsonRestApi {
    public JsonRestApi() {
        try {
            String Response = "{\"Youtube Data\":{\"Views\":\"15K\"}}";

            JSONParser parser = new JSONParser();
            try {
                Object obj = parser.parse(Response);

                JSONObject jsonObject = (JSONObject) obj;
                JSONObject jsonObject3  = (JSONObject)jsonObject.get("Youtube Data");

                String yviews = (String)jsonObject3.get("Views");
                System.out.println(yviews);
            }
        }
     }
 } 
Run Code Online (Sandbox Code Playgroud)

输出 - 15K

但我希望输出为15000.但是我不想改变我的Json数据.我该怎么做到这一点?

java json

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

JavaFX 2.2删除分页的选定页面标签

我想删除分页控件的Selected页面标签(见下图).

在深入了解caspian.css后,我无法找到任何关于如何做到这一点的线索.通过代码我也没有找到任何方法来删除(或最终隐藏)此标签.

有没有办法在JavaFX中实现这一点而无需重新实现整个控件?

分页导航

css java pagination javafx-2

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