标签: objectfactory

目标C:给定一个类ID,我可以检查这个类是否实现了某个协议?或者有一个选择器?

我想将它用于对象工厂:给定一个字符串,创建一个Class,如果这个Class支持一个协议(使用Create()方法),那么分配该类并调用Create.

protocols class objective-c objectfactory

38
推荐指数
2
解决办法
2万
查看次数

JAXB-Unmarshalling期间的ObjectFactory角色是什么?

我正在使用JAXB 2.2.2来解析一个简单的XML-REST流.这是一段代码:

JAXBContext jc = JAXBContext.newInstance( "com.example.entities" );
Unmarshaller u = jc.createUnmarshaller();
r = (Response )u.unmarshal( inputStream );
Run Code Online (Sandbox Code Playgroud)

ObjectFactory类:

@XmlRegistry
public class ObjectFactory {

    public Response createRsp() {
        return new Response();
    }
}
Run Code Online (Sandbox Code Playgroud)

回复类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="rsp")
@XmlType
public class Response { ... }
Run Code Online (Sandbox Code Playgroud)

"com.example.entities"必须包含ObjectFactory类或jaxb.in​​dex.我想使用ObjectFactory类来决定一些pojo初始化,但是从不使用这些类:Response类总是直接由class.newInstance()实例化.这有什么不对吗?

java jaxb unmarshalling objectfactory

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

wsimport:多个wsdl覆盖ObjectFactory

我有多个(假设是2,A和B)webservices,我需要生成一个客户端来使用它们.在Netbeans中,我使用向导"new Web Service Client"传递两个wsdl,查看输出Netbeans只需为每个wsmport调用wsimport.

wsimport http:/mydomain/wsA.svc?wsdl
wsimport http:/mydomain/wsB.svc?wsdl
Run Code Online (Sandbox Code Playgroud)

A和B都生成一个相同的包com.mydomain.myapp(我猜它们是在同一个命名空间中定义的),所以我得到了在同一个包中合并的A和B的存根类集.

但是,wsimport还为每个Web服务创建一个ObjectFactory,因此如果我在AI获取与B定义相关的ObjectFactory之后生成B的存根(因为第一个,A被覆盖).相反,如果我切换订单,A的ObjectFactory仍然存在.

问题是我需要两个ObjectFactories才能为Web服务A和B的类型创建JAXBElements包装clas实例.

有没有办法在Java包中映射A的名称空间,在另一个中映射B以获取

com.mydomain.myapp.a
com.mydomain.myapp.b
Run Code Online (Sandbox Code Playgroud)

所以保留两个ObjectFactories?

简单的重构没有帮助,因为在内部调用了getClass(),一旦一个包被重构,它就不再起作用了.

java wsdl jaxb wsimport objectfactory

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

如何在同一个 ObjectFactory 中生成多个 .xsd?

我需要一个包含来自多个模式的多个 java 对象的 ObjectFactory。我对几个不同的插件和这些插件的变体的运气都是零。目前我正在使用以下内容:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-xjc-plugin</artifactId>
    <version>2.6.2</version>
    <configuration>
        <extensions>
            <extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:2.6.2</extension>
        </extensions>
    </configuration>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>xsdtojava</goal>
            </goals>
            <configuration>
                <sourceRoot>${basedir}/target/generated-sources/xjc</sourceRoot>
                <xsdOptions>
                    <xsdOption>
<xsd>${basedir}/src/main/resources/osds/schemas/IataAsmAdmEvent.xsd</xsd>
<xsd>${basedir}/src/main/resources/osds/schemas/IataAsmCnlEvent.xsd</xsd>
<xsd>${basedir}/src/main/resources/osds/schemas/IataAsmEqtEvent.xsd</xsd>
<packagename>com.mypackage</packagename>
                    </xsdOption>
                </xsdOptions>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

使用此插件和许多其他插件,我只能生成仅包含列表中最后一个架构的 ObjectFactory。以前的 xsd 都没有在 OF 中作为 java 对象。谁能帮我解决这个问题吗?

谢谢!

java xsd objectfactory cxf-xjc-plugin

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

java wsimport重命名/不同ObjectFactory.java

我有问题wsimport。在我必须wsimport编辑的wsdl之一中,我有一个名为type的complexType "objectFactory"wsimport在导入用于维护JAXB连接的不同类时,有没有办法告诉命令创建ObjectFactory.java。换句话说,我可以说wsimport而不是创建ObjectFactory.java一些自定义类MyCustomFactory.java吗?

是否可以以这样的方式自定义映射,即可complexType name="objectFactory"映射到名称不同的对象MyObjectFactory.java

谢谢

java jax-ws jaxb wsimport objectfactory

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

在StructureMap 4.0中获取现有容器

我在StructureMap 4.0中遇到问题。在使用StructureMap 3.0时,我使用ObjectFactory来配置所有实例,并且很容易通过解决方案内部任何地方的自己的接口来获取实例。例如:

  1. 在global.cs上,我声明如下:ObjectFactory.Initialize(x => {x.For()。Use();}

  2. 在另一个类(例如Family.cs)上,很容易获得Peson的实例:var person = ObjectFactory.GetInstance();

但是,将StructureMap更新到4.0后,我遇到了问题。它使用Container而不是ObjectFactory,我找不到任何获取现有容器的方法。我的意思是这段代码是错误的var person = container.GetInstance();

如果我在Global.cs中将Container声明为静态变量,则可以从Family.cs类中访问它。我不喜欢这样 我希望通过获取在global.cs中声明的现有容器来像ObjectFactory一样工作,但是我不知道该怎么做。

.net c# structuremap objectfactory

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

StructureMap,ObjectFactory和IContainer

我正在使用StructureMap来满足我的IoC需求.

为了使事情愉快地测试,我IContainer尽可能地传递实例,通常作为构造函数参数.为方便起见,我希望能够回归使用ObjectFactory无参数构造函数.

要做到这一点最简单的方法(我认为)是简单地得到IContainerObjectFactory类包装,并传递到其他构造.不幸的是,我找不到这个实例被公开曝光的任何地方.

问题是:

有没有办法获得IContainer内部ObjectFactory所以我可以像处理用户提供的实例一样处理它?

或者,有没有办法将配置复制ObjectFactory到新Container实例?

例:

我希望能够做到以下几点:

public class MyClass
{
    public MyClass()
    {
        Container = ... // The ObjectFactory container instance.
    }

    public MyClass(IContainer container)
    {
        Container = container;
    }

    public IContainer Container { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

c# structuremap objectfactory

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