zoukankan      html  css  js  c++  java
  • IfcRoot

    IfcRoot is the most abstract and root class for all entity definitions that roots in the kernel or in subsequent layers of the IFC specification. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities.

    /* Generated By: IFC Tools Project EXPRESS TO JAVA COMPILER: Do not edit this file!! */
    package com.vfsd.ifc2x3tc1;
    
    public abstract class IfcRoot extends InternalAccessClass implements ClassInterface
    {
        private static final String[] nonInverseAttributes = new String[]{"IfcGloballyUniqueId","IfcOwnerHistory","IfcLabel","IfcText"};
        private java.util.ArrayList<CloneableObject> stepParameter = null;
        private java.util.HashSet<ObjectChangeListener> listenerList = null;
        protected int stepLineNumber;
        /** GlobalId is an DEMANDED attribute - may not be null**/
        protected IfcGloballyUniqueId GlobalId;
        /** OwnerHistory is an DEMANDED attribute - may not be null**/
        protected IfcOwnerHistory OwnerHistory;
        /** Name is an OPTIONAL attribute**/
        protected IfcLabel Name;
        /** Description is an OPTIONAL attribute**/
        protected IfcText Description;
        /**
        * The default constructor.
        **/
        public IfcRoot(){}
    
        /**
        * Constructs a new IfcRoot object using the given parameters.
        *
        * @param GlobalId DEMANDED parameter of type IfcGloballyUniqueId - may not be null.
        * @param OwnerHistory DEMANDED parameter of type IfcOwnerHistory - may not be null.
        * @param Name OPTIONAL parameter of type IfcLabel
        * @param Description OPTIONAL parameter of type IfcText
        **/
        public IfcRoot(IfcGloballyUniqueId GlobalId, IfcOwnerHistory OwnerHistory, IfcLabel Name, IfcText Description)
        {
            this.GlobalId = GlobalId;
            this.OwnerHistory = OwnerHistory;
            this.Name = Name;
            this.Description = Description;
            resolveInverses();
        }
    
        /**
         * This method initializes the IfcRoot object using the given parameters.
        *
        * @param GlobalId DEMANDED parameter of type IfcGloballyUniqueId - may not be null.
        * @param OwnerHistory DEMANDED parameter of type IfcOwnerHistory - may not be null.
        * @param Name OPTIONAL parameter of type IfcLabel
        * @param Description OPTIONAL parameter of type IfcText
        **/
        public void setParameters(IfcGloballyUniqueId GlobalId, IfcOwnerHistory OwnerHistory, IfcLabel Name, IfcText Description)
        {
            this.GlobalId = GlobalId;
            this.OwnerHistory = OwnerHistory;
            this.Name = Name;
            this.Description = Description;
            resolveInverses();
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        void initialize(java.util.ArrayList<CloneableObject> parameters)
        {
            this.GlobalId = (IfcGloballyUniqueId) parameters.get(0);
            this.OwnerHistory = (IfcOwnerHistory) parameters.get(1);
            this.Name = (IfcLabel) parameters.get(2);
            this.Description = (IfcText) parameters.get(3);
            resolveInverses();
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        void destruct()
        {
            listenerList = null;
        }
    
        private void resolveInverses()
        {
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        String[] getNonInverseAttributeTypes()
        {
            return IfcRoot.nonInverseAttributes;    }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        private java.util.HashSet<String> getRedefinedDerivedAttributeTypes()
        {
            java.util.HashSet<String> redefinedDerivedAttributes = new java.util.HashSet<String>();
            return redefinedDerivedAttributes;    }
    
        /**
     * This method returns the object IFC  STEP representation. This method is called by the IfcModel object to write IFC STEP files.
         *
         * @return the IFC STEP representation of this object
        **/
        public String getStepLine()
        {
            String stepString = new String("#"+this.stepLineNumber+"= ");
            stepString = stepString.concat("IFCROOT(");
            if(getRedefinedDerivedAttributeTypes().contains("GlobalId")) stepString = stepString.concat("*,");
            else{
            if(this.GlobalId != null)        stepString = stepString.concat(((RootInterface)this.GlobalId).getStepParameter(IfcGloballyUniqueId.class.isInterface())+",");
            else        stepString = stepString.concat("$,");
            }
            if(getRedefinedDerivedAttributeTypes().contains("OwnerHistory")) stepString = stepString.concat("*,");
            else{
            if(this.OwnerHistory != null)        stepString = stepString.concat(((RootInterface)this.OwnerHistory).getStepParameter(IfcOwnerHistory.class.isInterface())+",");
            else        stepString = stepString.concat("$,");
            }
            if(getRedefinedDerivedAttributeTypes().contains("Name")) stepString = stepString.concat("*,");
            else{
            if(this.Name != null)        stepString = stepString.concat(((RootInterface)this.Name).getStepParameter(IfcLabel.class.isInterface())+",");
            else        stepString = stepString.concat("$,");
            }
            if(getRedefinedDerivedAttributeTypes().contains("Description")) stepString = stepString.concat("*);");
            else{
            if(this.Description != null)        stepString = stepString.concat(((RootInterface)this.Description).getStepParameter(IfcText.class.isInterface())+");");
            else        stepString = stepString.concat("$);");
            }
            return stepString;
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        public String getStepParameter(boolean isSelectType)
        {
            return "#" + this.stepLineNumber;
        }
    
        /**
         * This method returns the line number within a IFC  STEP representation. This method is called from other objects, where this one is referenced.
         *
         * @return the STEP line number
        **/
        public int getStepLineNumber()
        {
            return this.stepLineNumber;
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        void setStepLineNumber(int number)
        {
            this.stepLineNumber = number;
        }
    
        /**
        * This method sets the GlobalId attribute to the given value.
        *
        * @param GlobalId OPTIONAL value to set
        **/
        public void setGlobalId(IfcGloballyUniqueId GlobalId)
        {
            this.GlobalId = GlobalId;
            fireChangeEvent();
        }
    
        /**
        * This method returns the value of the GlobalId attribute.
        *
        * @return the value of GlobalId
        /**/
        public IfcGloballyUniqueId getGlobalId()
        {
            return this.GlobalId;
        }
    
        /**
        * This method sets the OwnerHistory attribute to the given value.
        *
        * @param OwnerHistory OPTIONAL value to set
        **/
        public void setOwnerHistory(IfcOwnerHistory OwnerHistory)
        {
            this.OwnerHistory = OwnerHistory;
            fireChangeEvent();
        }
    
        /**
        * This method returns the value of the OwnerHistory attribute.
        *
        * @return the value of OwnerHistory
        /**/
        public IfcOwnerHistory getOwnerHistory()
        {
            return this.OwnerHistory;
        }
    
        /**
        * This method sets the Name attribute to the given value.
        *
        * @param Name DEMANDED value to set - may not be null
        **/
        public void setName(IfcLabel Name)
        {
            this.Name = Name;
            fireChangeEvent();
        }
    
        /**
        * This method returns the value of the Name attribute.
        *
        * @return the value of Name
        /**/
        public IfcLabel getName()
        {
            return this.Name;
        }
    
        /**
        * This method sets the Description attribute to the given value.
        *
        * @param Description DEMANDED value to set - may not be null
        **/
        public void setDescription(IfcText Description)
        {
            this.Description = Description;
            fireChangeEvent();
        }
    
        /**
        * This method returns the value of the Description attribute.
        *
        * @return the value of Description
        /**/
        public IfcText getDescription()
        {
            return this.Description;
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        void setStepParameter(java.util.ArrayList<CloneableObject> parameter)
        {
            this.stepParameter = parameter;
        }
    
        /**
         * This method is used internally and should NOT be used for own purposes.
        **/
        java.util.ArrayList<CloneableObject> getStepParameter()
        {
            return this.stepParameter;
        }
    
        /**
         * This method registers an ObjectChangeListener to this object. An event is fired whenever one of its values was changed.
         * 
         *@param listener the listener to register
        **/
        public void addObjectChangeListener(ObjectChangeListener listener)
        {
            if (listenerList == null)    listenerList = new java.util.HashSet<ObjectChangeListener>(1,1);
            listenerList.add(listener);
        }
    
        /**
         * This method unregisters an ObjectChangeListener from this object.
         * 
         *@param listener the listener to unregister
        **/
        public void removeObjectChangeListener(ObjectChangeListener listener)
        {
            if (listenerList == null)    return;
            listenerList.remove(listener);
            if (listenerList.size()==0) listenerList = null;
        }
    
        /**
         * This method removes all currently registered ObjectChangeListeners from this object.
        **/
        public void removeAllObjectChangeListeners()
        {
            listenerList = null;
        }
    
        protected void fireChangeEvent()
        {
            if(listenerList == null) return;
            for(ObjectChangeListener listener : listenerList)
                listener.ifcModelObjectChange(this);
        }
    
        /**
         * This method clones the object (deep cloning).
         *
         * @return the cloned object
        **/
        public abstract Object clone();
    
        /**
         * This method copys the object as shallow copy (all referenced objects are remaining).
         *
         * @return the cloned object
        **/
        public abstract Object shallowCopy();
    
        /**
        * This method returns the objects standard description.
        *
        * @return the standard description
        **/
        public String toString()
        {
            return "#"+ this.getStepLineNumber() + " " + this.getClass().getSimpleName();
        }
    
    
    }
  • 相关阅读:
    某一字段分组取最大(小)值所在行的数据
    【JVM】01虚拟机内存模型
    POJ 1845 Sumdiv (求某个数的所有正因子的和)
    POJ 2992 Divisors (求因子个数)
    POJ 3696 The Luckiest number (欧拉函数,好题)
    POJ 1811 Prime Test (Pollard rho 大整数分解)
    POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)
    POJ 1305 Fermat vs. Pythagoras (毕达哥拉斯三元组)
    POJ 2142 The Balance (解不定方程,找最小值)
    POJ 1006 Biorhythms (中国剩余定理)
  • 原文地址:https://www.cnblogs.com/herd/p/11967262.html
Copyright © 2011-2022 走看看