view m-toolbox/classes/@ssmport/ssmport.m @ 10:75007001cbfe
database-connection-manager
Check for binary only objects
author
Daniele Nicolodi <nicolodi@science.unitn.it>
date
Mon, 05 Dec 2011 16:20:06 +0100 (2011-12-05)
parents
f0afece42f48
children
line source
+ − % SSMPORT a helper class for the SSM class.
+ − %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ − %
+ − % SSMPORT a helper class for the SSM class.
+ − %
+ − % SUPERCLASSES: ltpda_nuo < ltpda_obj
+ − %
+ − % CONSTRUCTORS:
+ − %
+ − % sb = ssmport(name);
+ − % sb = ssmport(name, desc);
+ − % sb = ssmport(name, desc, units);
+ − %
+ − % VERSION: $Id: ssmport.m,v 1.22 2011/03/28 17:02:29 ingo Exp $
+ − %
+ − % SEE ALSO: ltpda_obj, ltpda_nuo, ssm
+ − %
+ − %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ −
+ − classdef (Hidden = true) ssmport < ltpda_nuo
+ −
+ − %% -------- Public (read/write) Properties -------
+ − properties
+ − end % -------- Public (read/write) Properties -------
+ −
+ − %% -------- Private read-only Properties --------
+ − properties (SetAccess = protected)
+ − name = '.'; % name of the block
+ − units = unit(); % units associated with this port
+ − description = ''; % description of the block
+ − end %% -------- Private read-only Properties --------
+ −
+ − %% -------- Dependant Hidden Properties ---------
+ − properties (Dependent, Hidden)
+ − end %-------- Dependant Hidden Properties ---------
+ −
+ − %% -------- Dependant Hidden Properties Methods ------
+ − methods
+ −
+ − end % -------- Dependant Properties Methods ------
+ −
+ − %% -------- constructor ------
+ − methods
+ −
+ − function sp = ssmport(varargin)
+ − switch nargin
+ − case 0
+ − % Empty constructor
+ − case 1
+ − if isa(varargin{1}, 'ssmport')
+ − % copy constructor.
+ − sp = copy(varargin{1},1);
+ − elseif isstruct(varargin{1})
+ − % sp = ssmport(struct)
+ − sp = fromStruct(sp, varargin{1});
+ − else
+ − error('### Unknown single argument constructor: ssmport(%s)', class(varargin{1}));
+ − end
+ − case 2
+ − if isa(varargin{1}, 'org.apache.xerces.dom.DeferredElementImpl') && ...
+ − isa(varargin{2}, 'history')
+ − sp = fromDom(sp, varargin{1}, varargin{2});
+ − else
+ − error('### Unknown two argument constructor: ssmport(%s, %s)', class(varargin{1}), class(varargin{2}));
+ − end
+ − otherwise
+ − error('### Unknown argument constructor');
+ − end
+ − end % End constructor
+ −
+ − end %% -------- constructor ------
+ −
+ − %% -------- Hidden methods ------
+ − methods (Hidden = true)
+ −
+ − varargout = attachToDom(varargin)
+ −
+ − function clearAllUnits(inputs)
+ − for kk=1:numel(inputs)
+ − inputs(kk).units = [];
+ − end
+ − end
+ −
+ − %% properties methods
+ − function portNames = portNames(port)
+ − portNames = cell(1, numel(port));
+ − for i=1:numel(port)
+ − portNames{i} = port(i).name;
+ − end
+ − end
+ −
+ − function portDescriptions = portDescriptions(port)
+ − portDescriptions = cell(1, numel(port));
+ − for i=1:numel(port)
+ − portDescriptions{i} = port(i).description;
+ − end
+ − end
+ −
+ − function portUnits = portUnits(port)
+ − portUnits = unit.initObjectWithSize(1, numel(port));
+ − for i=1:numel(port)
+ − portUnits(i) = port(i).units;
+ − end
+ − end
+ −
+ − %% No search methods in this class
+ −
+ − %% set methods
+ − function port = setName(port, names, blockName)
+ − % checking block name is acceptable
+ − blockName = upper(blockName);
+ − if numel(strfind(blockName,'.'))>0
+ − error('The "." is not allowed in ssmblock name')
+ − end
+ − if numel(strfind(blockName,' '))>0
+ − error('The space " " is not allowed in ssmblock name')
+ − end
+ − % setting portNames depending on wether they are provided or not
+ − if isempty(names) % setting for empty port names
+ − for ii=1:numel(port)
+ − port(ii).name = [blockName '.variable_' num2str(ii)];
+ − end
+ − else % setting for char/cellstr port names
+ − if ischar(names), names = {names}; end
+ − for ii=1:numel(port)
+ − portName = names{ii};
+ − if numel(strfind(portName,'.'))>0
+ − error('The "." is not allowed in ssmport name')
+ − end
+ − if numel(strfind(portName,' '))>0
+ − error('The space " " is not allowed in ssmport name')
+ − end
+ − port(ii).name = [blockName '.' lower(portName)];
+ − end
+ − end
+ − end
+ −
+ − function port = modifyBlockName(port, oldName, newName)
+ − if numel(strfind(newName,'.'))>0
+ − error('The "." is not allowed in ssmblock name')
+ − end
+ − if numel(strfind(newName,' '))>0
+ − error('The space " " is not allowed in ssmblock name')
+ − end
+ − newName = upper(newName);
+ − for ii=1:numel(port)
+ − if ~isempty(port(ii).name)
+ − str = port(ii).name;
+ − [blockName, portName] = ssmblock.splitName(str);
+ − port(ii).name = [newName '.' portName];
+ − end
+ − end
+ − end
+ −
+ − function port = setDescription(port, descriptions)
+ − if ischar(descriptions), descriptions = {descriptions}; end
+ − if numel(descriptions)==1
+ − for ii=1:numel(port)
+ − port(ii).description = descriptions{1};
+ − end
+ − else
+ − for ii=1:numel(port)
+ − port(ii).description = descriptions{ii};
+ − end
+ − end
+ − end
+ −
+ − function port = setUnits(port, units)
+ − if ~isa(units, 'unit')
+ − error('the port unit field must be of class unit')
+ − end
+ − if numel(units)==1
+ − for ii=1:numel(port)
+ − port(ii).units = units(1);
+ − end
+ − else
+ − for ii=1:numel(port)
+ − port(ii).units = units(ii);
+ − end
+ − end
+ − end
+ −
+ − end %% -------- Hidden methods ------
+ −
+ − %% -------- private static methods ------
+ − methods (Static=true, Access=private)
+ − end %% -------- private static methods ------
+ −
+ − %% -------- public static methods ------
+ − methods (Static=true)
+ −
+ − function obj = initObjectWithSize(n,m)
+ − obj = ssmport.newarray([n m]);
+ − end
+ −
+ − function out = VEROUT()
+ − out = '$Id: ssmport.m,v 1.22 2011/03/28 17:02:29 ingo Exp $';
+ − end
+ −
+ − function ii = getInfo(varargin)
+ − ii = utils.helper.generic_getInfo(varargin{:}, 'ssmport');
+ − end
+ −
+ − function out = SETS()
+ − out = {'Default'};
+ − end
+ −
+ − function out = getDefaultPlist(set)
+ − switch lower(set)
+ − case 'default'
+ − out = plist();
+ − otherwise
+ − error('### Unknown set [%s]', set);
+ − end
+ − end
+ −
+ − end %% -------- public static methods ------
+ −
+ − %% ---------- public static hidden methods ---------------
+ − methods (Static = true, Hidden = true)
+ − varargout = loadobj(varargin)
+ − varargout = update_struct(varargin);
+ − end
+ −
+ − %% -------- Declaration of Private methods --------
+ − methods(Access = private)
+ − end
+ −
+ − methods (Access = protected)
+ − varargout = fromStruct(varargin)
+ − varargout = fromDom(varargin)
+ − end
+ −
+ − end