psdi.app.feature

Class Feature

  • All Implemented Interfaces:
    java.rmi.Remote, FeatureRemote, MboConstants, MboRemote, StatefulMboRemote, MaxRemoteProxy


    public class Feature
    extends StatefulMbo
    implements FeatureRemote
    Mbo object to represent a Feature object. A feature is a sign, milepost, or similar object used within a Linear System.

    The key attribute for this object is Feature.

    See Feature Package description.

    The attributes in this object are as follows:

    Attribute Name Description
    FEATURESIDUnique ID
    CLASSSTRUCTUREIDThe classification structure holds a list of attributes (for example: size, length, color)
    COLORColor that will be used when feature is displayed
    CONTINUOUSIs this linear feature continuous? If this value is true, then the user expects that the measures applied to feature records for this feature will cover the entire span of the location and will not overlap
    DESCRIPTIONThe description of the feature
    DOMAINIDList of valid values for a continuous feature
    FEATUREAn object that exists on or alongside a linear location that is not a point asset (for example: milepost, guardrail)
    FEATURETYPEA feature may be of type 'point' if it has no length (e.g. mile post) or if its length is unrelated to the linear location (e.g. powerline crossing). A feature will be designated type 'linear' if it has length and that length is related to the linear location (e.g. guardrail)
    SHAPEShape that will be used when feature is displayed
    SHAREDWhen true, this feature will be shared with any locations that reference this location
    • Field Detail

      • skipFieldCopy

        protected static java.util.HashSet skipFieldCopy
        This is a static HashSet that contains the names of the fields whose values need not be copied from the source Mbo to the target Mbo and is used only for duplication the feature Mbo. This HashSet is loaded in the loadSkipFieldCopyHashSet.
        See Also:
        Feature.loadSkipFieldCopyHashSet(), Feature.skipFieldCopy
    • Constructor Detail

      • Feature

        public Feature(MboSet ms)
                throws MXException,
                       java.rmi.RemoteException
        Constructs the Feature object.

        Parameters:
        ms - MboSet
        Throws:
        none
        MXException
        java.rmi.RemoteException
    • Method Detail

      • init

        public void init()
                  throws MXException
        Initialization routine for feature object
        Overrides:
        init in class Mbo
        Parameters:
        none -
        Throws:
        none
        MXException
      • add

        public void add()
                 throws MXException,
                        java.rmi.RemoteException
        Adds a new Feature object. Sets field defaults to:

        Attribute NameAttribute Value
        statusvalue of the FEATURESSTATUS maxvar

        Specified by:
        add in interface MboRemote
        Overrides:
        add in class Mbo
        Parameters:
        none -
        Throws:
        none
        MXException
        java.rmi.RemoteException
      • skipCopyField

        protected boolean skipCopyField(MboValueInfo mvi)
                                 throws java.rmi.RemoteException,
                                        MXException
        Overrides the skipCopyField() in the Mbo. Since this method takes the MboValueInfo as its parameter just check to see if this field needs to be copied or skipped by using the data from the static HashSet. If this field does not need to be copied return true. The following are feature fields will be skipped without being copied to the newly duplicated feature
        1. feature
        Overrides:
        skipCopyField in class Mbo
        Parameters:
        The - MboValueInfo object of the MboValue that needs to be copied.
        Returns:
        True,if the field does not need to be copied.In all other cases return false.
        Throws:
        java.rmi.RemoteException
        MXException
      • delete

        public void delete(long modifier)
                    throws MXException,
                           java.rmi.RemoteException
        Description copied from class: Mbo
        Mark the object to be deleted depending on the access modifier. This will usually be overridden in the subclass of Mbo as there may be application specific rules as to if and when an object can be deleted. Object is not actually deleted in the database until save() is called. This method will also mark all associated Long Description and Translation Mbos for deletion.
        Specified by:
        delete in interface MboRemote
        Overrides:
        delete in class Mbo
        Parameters:
        modifier - The bitwise flag specified to determine if certain normal security checks are to be bypassed for this delete request. For example: if the accessModifer is NOACCESSCHECK, then the check for the object's NODELETE flag and the call to the object's canDelete() method will not be performed. If the accessModifer is NONE, then all the access checks are performed before this object is marked delete.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.delete(long)
      • canDelete

        public void canDelete()
                       throws MXException,
                              java.rmi.RemoteException
        Feature can not be deleted if it is referenced by a linear asset.
        Overrides:
        canDelete in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.canDelete()
      • getStatusHistory

        protected MboSetRemote getStatusHistory()
                                         throws MXException,
                                                java.rmi.RemoteException
        Return the featurestatus object. Required for statefullness.
        Specified by:
        getStatusHistory in class StatefulMbo
        Returns:
        The set of FEATURESTATUS records
        Throws:
        MXException
        java.rmi.RemoteException
      • getStatusHandler

        protected StatusHandler getStatusHandler()
        Return a status handler with the help of which the feature status changes can be done.
        Specified by:
        getStatusHandler in class StatefulMbo
      • changeStatus

        public void changeStatus(java.lang.String status,
                                 java.util.Date date,
                                 java.lang.String memo)
                          throws MXException,
                                 java.rmi.RemoteException
        Description copied from class: StatefulMbo
        Calls the changeStatus method with an accessModifier of NONE.
        Specified by:
        changeStatus in interface StatefulMboRemote
        Overrides:
        changeStatus in class StatefulMbo
        Parameters:
        status - The new desired status. This is the translated status (that is, the status code as it would have been entered by a user, or valuelist.value), not the internal status value (valuelist.maxvalue).
        date - The effective date of the new status (java.util.Date).
        memo - A string briefly describing the circumstances of the change. The memo can be null.
        Throws:
        MXException - Thrown if there is a problem, or the status cannot be changed, as determined by canChangeStatus(String).
        java.rmi.RemoteException
        See Also:
        StatefulMbo.changeStatus(String,java.util.Date,String,long)