Package com.gammastream.validity

Source Code of com.gammastream.validity.GSVEOEntity

  package com.gammastream.validity;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSDictionary;
import com.webobjects.foundation.NSMutableArray;
import com.webobjects.foundation.NSPropertyListSerialization;

public class GSVEOEntity {

    private GSVEOModel model = null;
    private NSDictionary entity = null;
    private NSArray attributes = null;
    private NSArray gsveoAttributes = null;
    private NSArray  attributesUsedForLocking = null;
    private String className = null;
    private String name = null;
    private String externalName = null;
    private NSArray classProperties = null;
    private NSArray primaryKeyAttributes = null;
    private NSArray relationships = null;

    public GSVEOEntity(GSVEOModel m, String n){
        model = m;
        name = n;
        try{
            File f = new File(model.path()+"/"+n+".plist");
            FileInputStream fis = new FileInputStream(f);
            byte[] bytes = new byte[(int)f.length()];
            fis.read(bytes);
            entity = (NSDictionary)NSPropertyListSerialization.propertyListFromString(new String(bytes));
        }catch(IOException e){System.out.println(e);}
    }

    public String name(){
        return name;
    }

    public NSArray attributes(){
        if(attributes != null)
            return attributes;
        attributes = (NSArray)entity.objectForKey("attributes");
        return attributes;
    }

    public NSArray gsveoAttributes(){
        if(gsveoAttributes != null)
            return gsveoAttributes;
        NSMutableArray temp = new NSMutableArray();
        if(attributes()!=null){
            for(int i=0;i<attributes().count();i++)
                temp.addObject(new GSVEOAttribute(this, (NSDictionary)(attributes().objectAtIndex(i))));
            gsveoAttributes = temp;
        }else{
            gsveoAttributes = new NSArray();
        }
        return gsveoAttributes;
    }

    public NSArray attributesUsedForLocking(){
        if(attributesUsedForLocking != null)
            return attributesUsedForLocking;
        attributesUsedForLocking = (NSArray)entity.objectForKey("attributesUsedForLocking");
        return attributesUsedForLocking;
    }

    public NSArray classProperties(){
        if(classProperties != null)
            return classProperties;
        classProperties = (NSArray)entity.objectForKey("classProperties");
        return classProperties;
    }

    public String className(){
        if(className != null)
            return className;
        className = (String)entity.objectForKey("className");
        return className;
    }

    public String externalName(){
        if(externalName != null)
            return externalName;
        externalName = (String)entity.objectForKey("externalName");
        return externalName;
    }

    public NSArray primaryKeyAttributes(){
        if(primaryKeyAttributes != null)
            return primaryKeyAttributes;
        primaryKeyAttributes = (NSArray)entity.objectForKey("primaryKeyAttributes");
        return primaryKeyAttributes;
    }

    public NSArray relationships(){
        if(relationships != null)
            return relationships;
        relationships = (NSArray)entity.objectForKey("relationships");
        return relationships;
    }

    public GSVEOModel model(){
        return model;
    }

    public GSVEOAttribute attributeNamed(String name){
        NSDictionary currentAttribute = null;
        for(int i=0;i<this.attributes().count();i++){
            currentAttribute = (NSDictionary)this.attributes().objectAtIndex(i);
            if(currentAttribute.objectForKey("name").equals(name))
                return new GSVEOAttribute(this,currentAttribute);
        }
        return null;
    }
 

}
TOP

Related Classes of com.gammastream.validity.GSVEOEntity

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.