001    /**
002     * Copyright 2005-2013 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.rice.ksb.impl.registry;
017    
018    import org.hibernate.annotations.Parameter;
019    import org.kuali.rice.core.api.mo.ModelObjectBasic;
020    import org.kuali.rice.ksb.api.registry.ServiceDescriptor;
021    import org.kuali.rice.ksb.api.registry.ServiceDescriptorContract;
022    
023    /**
024     * TODO... 
025     * 
026     * @author Kuali Rice Team (rice.collab@kuali.org)
027     *
028     */
029    @javax.persistence.Entity
030    @javax.persistence.Table(name="KRSB_SVC_DSCRPTR_T")
031    public class ServiceDescriptorBo implements ServiceDescriptorContract, ModelObjectBasic {
032    
033            @javax.persistence.Id
034            @javax.persistence.GeneratedValue(generator="KRSB_SVC_DSCRPTR_S")
035            @org.hibernate.annotations.GenericGenerator(name="KRSB_FLT_SVC_DEF_S",strategy="org.hibernate.id.enhanced.SequenceStyleGenerator",parameters={
036                            @Parameter(name="sequence_name", value="KRSB_SVC_DSCRPTR_S"),
037                            @Parameter(name="value_column", value="id")
038        })
039            @javax.persistence.Column(name="SVC_DSCRPTR_ID")
040            private String id;
041            
042            @javax.persistence.Lob
043            @javax.persistence.Column(name="DSCRPTR", length=4000)
044            private String descriptor;
045            
046            @javax.persistence.Version
047            @javax.persistence.Column(name="VER_NBR")
048            private Long versionNumber;
049    
050        public String getId() {
051            return id;
052        }
053    
054        public void setId(String id) {
055            this.id = id;
056        }
057    
058        public String getDescriptor() {
059            return descriptor;
060        }
061    
062        public void setDescriptor(String descriptor) {
063            this.descriptor = descriptor;
064        }
065    
066        public Long getVersionNumber() {
067            return versionNumber;
068        }
069    
070        public void setVersionNumber(Long versionNumber) {
071            this.versionNumber = versionNumber;
072        }
073    
074        public static ServiceDescriptor to(ServiceDescriptorBo bo) {
075                    if (bo == null) {
076                            return null;
077                    }
078                    return ServiceDescriptor.Builder.create(bo).build();
079            }
080            
081            public static ServiceDescriptorBo from(ServiceDescriptor im) {
082                    if (im == null) {
083                            return null;
084                    }
085    
086                    ServiceDescriptorBo bo = new ServiceDescriptorBo();
087                    bo.id = im.getId();
088                    bo.descriptor = im.getDescriptor();
089                    bo.versionNumber = im.getVersionNumber();
090    
091                    return bo;
092            }
093    
094    }