.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "UR::Object::Tag 3pm" .TH UR::Object::Tag 3pm "2016-10-31" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" UR::Object::Tag \- Transitory attribute tags for a UR::Object at a given time. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 6 \& if (my @attribs = grep { $_\->type eq \*(Aqinvalid\*(Aq } $obj\->attribs()) { \& print $obj\->display_name . " has invalid attributes. They are:\en"; \& for my $atrib (@attribs) { \& print join(",",$attrib\->properties) . ":" . $attrib\->desc . "\en"; \& } \& } \& \& Project H_NHF00 has invalid attributes, they are: \& project_subdirectory : Directory does not exist. \& target, status : Target cannot be null for projects with an active status. .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Objects of this class are created by \fIcreate_attribs()\fR on classes derived from UR::Object. They are retrieved by UR::Object\->\fIattribs()\fR. .SH "INHERITANCE" .IX Header "INHERITANCE" This class inherits from UR::ModuleBase. .SH "OBJECT METHODS" .IX Header "OBJECT METHODS" .IP "type" 4 .IX Item "type" A single-word description of the attribute which categorizes the attribute. Common attribute types are: .RS 4 .IP "invalid" 6 .IX Item "invalid" Set when the object has invalid properties and cannot be saved. .IP "changed" 6 .IX Item "changed" Set when the object is different than its \*(L"saved\*(R" version. .IP "hidden" 6 .IX Item "hidden" Set when the object has properties which should not be shown. .IP "editable" 6 .IX Item "editable" Set when some part of the object is editable in the current context. .IP "warning" 6 .IX Item "warning" Set when a warning about the state of the object is in effect. .IP "match" 6 .IX Item "match" Set when a search which is in effect matches this object's property(s). .IP "comment" 6 .IX Item "comment" Set when this attribute is just an informational message. .RE .RS 4 .RE .IP "properties" 4 .IX Item "properties" A list of properties to which the attribute applies. This is null when the attribute applies to the whole object, but typically returns one property name. Occasionally, it returns more than one property. Very rarely (currently never), the property may be in the form of an arrayref like: [ class_name, id, property_name ], in which case the property may actually be that of another related object. .IP "desc" 4 .IX Item "desc" A string of text giving detail to the attribute. .SH "CLASS METHODS" .IX Header "CLASS METHODS" .IP "create" 4 .IX Item "create" Makes a new UR::Object::Tag. .IP "delete" 4 .IX Item "delete" Throws one away. .IP "filter" 4 .IX Item "filter" Sets/gets a filter to be applied to all attribute lists returned in the application. This gives the application developer final veto power over expressed attributes in the app. In most cases, developers will write view components which use attributes, and will ignore them rather than plug-in at this low level to augment/mangle/supress. .Sp The filter will be given an object reference and a reference to an array of attributes which are tentatively to be delivered for the object. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIUR::Object\fR\|(3)