01: /*******************************************************************************
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: *******************************************************************************/package org.ofbiz.entity;
19:
20: import java.util.Map;
21:
22: import javolution.realtime.ObjectFactory;
23:
24: import org.ofbiz.entity.model.ModelEntity;
25:
26: /**
27: * Generic Entity Primary Key Object
28: *
29: */
30: public class GenericPK extends GenericEntity {
31:
32: protected static final ObjectFactory genericPKFactory = new ObjectFactory() {
33: protected Object create() {
34: return new GenericPK();
35: }
36: };
37:
38: protected GenericPK() {
39: }
40:
41: /** Creates new GenericPK */
42: public static GenericPK create(ModelEntity modelEntity) {
43: GenericPK newPK = (GenericPK) genericPKFactory.object();
44: newPK.init(modelEntity);
45: return newPK;
46: }
47:
48: /** Creates new GenericPK from existing Map */
49: public static GenericPK create(ModelEntity modelEntity, Map fields) {
50: GenericPK newPK = (GenericPK) genericPKFactory.object();
51: newPK.init(modelEntity, fields);
52: return newPK;
53: }
54:
55: /** Creates new GenericPK from existing GenericPK */
56: public static GenericPK create(GenericPK value) {
57: GenericPK newPK = (GenericPK) genericPKFactory.object();
58: newPK.init(value);
59: return newPK;
60: }
61:
62: /** Clones this GenericPK, this is a shallow clone & uses the default shallow HashMap clone
63: *@return Object that is a clone of this GenericPK
64: */
65: public Object clone() {
66: GenericPK newEntity = GenericPK.create(this);
67: newEntity.setDelegator(internalDelegator);
68: return newEntity;
69: }
70: }
|