CA2427288A1 - System and method for associating properties with objects - Google Patents

System and method for associating properties with objects Download PDF

Info

Publication number
CA2427288A1
CA2427288A1 CA002427288A CA2427288A CA2427288A1 CA 2427288 A1 CA2427288 A1 CA 2427288A1 CA 002427288 A CA002427288 A CA 002427288A CA 2427288 A CA2427288 A CA 2427288A CA 2427288 A1 CA2427288 A1 CA 2427288A1
Authority
CA
Canada
Prior art keywords
computer
property
readable medium
class
attached
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002427288A
Other languages
French (fr)
Other versions
CA2427288C (en
Inventor
Jeffrey L. Bogdan
Mark J. Finocchio
Nicholas M. Kramer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CA2427288A1 publication Critical patent/CA2427288A1/en
Application granted granted Critical
Publication of CA2427288C publication Critical patent/CA2427288C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Abstract

Described is a mechanism for allowing new functionality for an object to be expressed as a property that is not built into the class from which the object derives. More specifically, the mechanism associates properties in one class with another class. A computer-readable medium, that includes an object having a property in a first set of properties, further includes a data structure. The data structure includes definitions for each of a second set of properties and includes at least one static method. The static method is associated with one property out of the second set of properties and includes a first parameter. The first parameter uniquely identifies the one property. The static method is operative to associate the one property with the object without specifying an explicit reference to the one property in the object. The property is registered during run-time in order to receive the unique identifier.

Claims (33)

1. A computer-readable medium including an object lhaving a property in a first set of properties, the computer-readable medium further comprising:
a data structure including definitions for each of a aecond set of properties and including at least one static method associated with one property out of the second set of properties, the at least one static method having a first parameter that uniquely identifies the one property, the static method being operative to associate the one property with the object without specifying an explicit reference to the one property in the object.
2. The computer-readable medium of Claim 1, wherein the static method supports a strongly typed syntax.
3. The computer-readable medium of Claim 1, wherein the static method being operative to associate the one property with the object includes retrieving a value for the object without having the value stored locally on the object.
4. The computer-readable medium of Claim 3, wherein retrieving the value comprises determining which one of a plurality of stages holds the value associated with the one property.
5. The computer-readable medium of Claim 4, wherein one stage includes a parent object of the object.
6. The computer-readable medium of Claim 4, wherein one stage includes a property sheet.
7. The computer-readable medium of Claim 1, wherein the static method further includes a second parameter, the second parameter corresponding to a given value for the one property, and wherein the static method being operative to associate the one property with the object comprises setting the given value in a local storage for the object.
8. The computer-readable medium of Claim 1, wherein the first set of properties corresponds to behaviors of the object, and the second ;get of properties corresponds to an appearance of the object.
9. A computer-readable medium having computer-executable components, comprising:
a base class including a plurality of properties; and an attached class including a plurality of attached xoroperties, each of the attached properties capable of being associated with an instance of an object derived from the base class, the attached class further including a static method for associating one of the plurality of attached properties with the instance of the object.
10. The computer-readable medium of Claim 9, wherein the object derived from the base class inherits at least one method from a node class, the one method being called by the static method when associating the one attached property with the instance of the object.
11. The computer-readable medium of Claim 10, wherein the static method and the one method each include a first parameter for passing a unique identifier for the one attached property that is being associated with the instance of the object.
12. The computer-readable medium of Claim 11, wherein the unique identifier is available after registering the one attached property at run-time.
13. The computer-readable medium of Claim 10, wherein the one method supports a loosely typed syntax.
14. The computer-readable medium of Claim 9, wherein the static method supports a strongly typed syntax.
15. The computer-readable medium of Claim 9, wherein associating the one attached property comprises retrieving a value for the object from a parent object of the object.
16. The computer-readable medium of Claim 9, wherein associating the one attached property comprises retrieving a value for the object from a property sheet.
17. A computer system that uses objects, comprising:
a first obj ect derived from a first class, the first obj ect including a first set of properties;
a second class providing a second set of properties to the first object, the second class including a static method operative to attach one of the second set of properties to the first object in response to an operation associated with the first object.
18. The computer system of Claim 17, wherein the static method includes a first parameter for uniquely identifying which one property out of the second set of properties the operation is requesting.
19. The computer system of Claim 18, wherein the one property is registered before the first parameter can uniquely identify the one property.
20. A computer-implemented method for setting a state for a property, comprising:
declaring a first object having a first set of properties ;
registering one or more dynamic properties that are associated with the first object, the dynamic properties providing a second set of properties to the first object, wherein storage for the second set of properties is not within the first object.
21. The computer-implemented method of Claim 20, wherein registering the one or more dynamic properties includes assigning a unique identifier to each of the one or more dynamic properties.
22. The computer-implemented method of Claim 21, further comprising calling a static method having a first parameter, the first parameter referring to the unique identifier.
23. The computer-implemented method of Claim 22, wherein the static method is strongly typed.
24. The computer-implemented method of Claim 20, wherein the first object has one or more associated child objects, each child object thereby being associated with the second set of properties.
25. A computer-readable medium having at least one computer executable instruction, comprising:
an instruction means associating an attached property with an instance of an object derived from another class through a static method in an attached property class.
26. The computer-readable medium of Claim 25, wherein the instruction means supports a strongly typed syntax for a programmatic language.
27. The computer-readable medium of Claim 25, wherein the instruction means supports loosely-type syntax for a programming language.
28. The computer-readable medium of Claim 25, wherein the instruction means comprises a statement in a markup document.
29. The computer-readable medium of Claim 25, wherein the instruction means comprises a statement in a property sheet.
30. A computer-readable medium having at least one computer-encoded instruction, the instruction comprising:

a class identifier identifying an attached property class;
a method identifier identifying a method in the attached property class for affecting an attached property associated with a target object;
a parameter list, comprising:
a property identifier identifying the attached property.
31. A computer-readable medium having at least one computer-encoded instruction, the instruction comprising:
an object identifier identifying a target object;
a method identifier identifying a method in an attached property class for affecting an attached property associated with the target object;
a parameter list, comprising:
an attached property identifier including a class identifier identifying the attached property class and a property identifier identifying a name for the attached property within the attached property class.
32. A computer-readable medium having at least one computer-encoded instruction, the instruction comprising:
a tag representing a target object;
an attached property identifier having a provider designator identifying an attached property class and a property identifier identifying a name for the attached property within the attached property class.
33. A computer-readable medium having at least one computer-encoded instruction, the instruction comprising:
a XML schema for defining a target object, an attached property class, and an attached property within the attached property class, in such a manner that the attached property becomes associated with the target object without an explicit reference to the attached property in the target object.
CA2427288A 2002-06-28 2003-04-30 System and method for associating properties with objects Expired - Fee Related CA2427288C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/187,012 2002-06-28
US10/187,012 US7055132B2 (en) 2002-06-28 2002-06-28 System and method for associating properties with objects

Publications (2)

Publication Number Publication Date
CA2427288A1 true CA2427288A1 (en) 2003-12-28
CA2427288C CA2427288C (en) 2011-08-16

Family

ID=27733967

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2427288A Expired - Fee Related CA2427288C (en) 2002-06-28 2003-04-30 System and method for associating properties with objects

Country Status (20)

Country Link
US (1) US7055132B2 (en)
EP (1) EP1378828A3 (en)
JP (1) JP4365142B2 (en)
KR (1) KR100571466B1 (en)
CN (1) CN1470984B (en)
AU (1) AU2003204351B2 (en)
BR (1) BR0302032A (en)
CA (1) CA2427288C (en)
CO (1) CO5470295A1 (en)
HK (1) HK1060925A1 (en)
IL (1) IL155571A (en)
MX (1) MX342196B (en)
MY (1) MY133528A (en)
NO (1) NO331544B1 (en)
NZ (1) NZ525483A (en)
PL (1) PL360131A1 (en)
RU (1) RU2321882C2 (en)
SG (1) SG107142A1 (en)
TW (1) TWI287203B (en)
ZA (1) ZA200303345B (en)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236764A1 (en) * 2002-06-19 2003-12-25 Lev Shur Data architecture to support shared data resources among applications
US6986123B2 (en) * 2002-06-28 2006-01-10 Microsoft Corporation Extensible on-demand property system
JP2004234158A (en) * 2003-01-29 2004-08-19 Sony Corp Information processor, contents management method, contents information management method and computer program
US20040167894A1 (en) * 2003-02-21 2004-08-26 Sap Ag Method for using a business model data interface
US7505987B2 (en) * 2003-05-13 2009-03-17 Microsoft Corporation Method and system for providing interface defaults
US7559050B2 (en) * 2003-06-30 2009-07-07 Microsoft Corporation Generating software development tools via target architecture specification
US7707566B2 (en) * 2003-06-26 2010-04-27 Microsoft Corporation Software development infrastructure
US7685581B2 (en) * 2003-06-27 2010-03-23 Microsoft Corporation Type system for representing and checking consistency of heterogeneous program components during the process of compilation
US7305666B2 (en) * 2003-07-23 2007-12-04 Microsoft Corporation Description language for an extensible compiler and tools infrastructure
US7086041B2 (en) * 2003-06-27 2006-08-01 Microsoft Corporation Extensible type system for representing and checking consistency of program components during the process of compilation
US7120898B2 (en) * 2003-06-26 2006-10-10 Microsoft Corporation Intermediate representation for multiple exception handling models
US7788652B2 (en) * 2003-06-27 2010-08-31 Microsoft Corporation Representing type information in a compiler and programming tools framework
US7676798B2 (en) * 2003-10-24 2010-03-09 Microsoft Corporation Mechanism for obtaining and applying constraints to constructs within an interactive environment
US7543286B2 (en) * 2003-11-18 2009-06-02 Microsoft Corporation Method and system for mapping tags to classes using namespaces
US8694397B2 (en) 2004-06-18 2014-04-08 Sap Ag Consistent set of interfaces derived from a business object model
US7802228B2 (en) * 2004-08-19 2010-09-21 Microsoft Corporation Systems and methods for varying software build properties using primary and supplemental build files
US8631347B2 (en) * 2004-11-15 2014-01-14 Microsoft Corporation Electronic document style matrix
US7844956B2 (en) * 2004-11-24 2010-11-30 Rojer Alan S Object-oriented processing of markup
US20060130038A1 (en) * 2004-12-15 2006-06-15 Claussen Christopher S Apparatus, system, and method for facilitating dynamic modification of existing software objects defined in a strongly-typed programming language
CA2490645A1 (en) * 2004-12-16 2006-06-16 Ibm Canada Limited - Ibm Canada Limitee Data-centric distributed computing
JP4393404B2 (en) * 2005-03-04 2010-01-06 株式会社東芝 Database management apparatus and database management method
US8332355B2 (en) * 2005-03-28 2012-12-11 Symantec Corporation Method and apparatus for generating readable, unique identifiers
US20070061351A1 (en) * 2005-09-13 2007-03-15 Microsoft Corporation Shape object text
US20070061349A1 (en) * 2005-09-15 2007-03-15 Microsoft Corporation Hierarchically describing shapes
US8001526B2 (en) * 2005-09-15 2011-08-16 Microsoft Corporation Hierarchical property storage
EP2076874A4 (en) 2006-05-13 2011-03-09 Sap Ag Consistent set of interfaces derived from a business object model
US20080077849A1 (en) * 2006-09-27 2008-03-27 Adams Gregory D Mechanism for associating annotations with model items
US8321853B2 (en) * 2007-05-11 2012-11-27 Microsoft Corporation Type and property definition support for software
CA2607537A1 (en) * 2007-10-22 2009-04-22 Ibm Canada Limited - Ibm Canada Limitee Software engineering system and method for self-adaptive dynamic software components
US8417593B2 (en) 2008-02-28 2013-04-09 Sap Ag System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems
US20090326988A1 (en) 2008-06-26 2009-12-31 Robert Barth Managing consistent interfaces for business objects across heterogeneous systems
US8245144B2 (en) * 2008-06-27 2012-08-14 Microsoft Corporation Object model for a user interface
US8195692B2 (en) * 2008-12-11 2012-06-05 International Business Machines Corporation System and method for managing semantic and syntactic metadata
US20100153297A1 (en) 2008-12-12 2010-06-17 Sap Ag Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems
US8576218B2 (en) * 2008-12-18 2013-11-05 Microsoft Corporation Bi-directional update of a grid and associated visualizations
US8396751B2 (en) 2009-09-30 2013-03-12 Sap Ag Managing consistent interfaces for merchandising business objects across heterogeneous systems
US8473905B1 (en) * 2009-09-30 2013-06-25 Emc Corporation Managing user interface characteristics in displaying data storage systems information
US9135585B2 (en) * 2010-06-15 2015-09-15 Sap Se Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems
US8732083B2 (en) 2010-06-15 2014-05-20 Sap Ag Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems
JP5279767B2 (en) * 2010-06-29 2013-09-04 ヤフー株式会社 General program
US9342274B2 (en) 2011-05-19 2016-05-17 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
US8775280B2 (en) 2011-07-28 2014-07-08 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US8725654B2 (en) 2011-07-28 2014-05-13 Sap Ag Managing consistent interfaces for employee data replication business objects across heterogeneous systems
US8601490B2 (en) 2011-07-28 2013-12-03 Sap Ag Managing consistent interfaces for business rule business object across heterogeneous systems
US8762453B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for feed collaboration group and feed event subscription
US8762454B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for flag and tag
US9232368B2 (en) 2012-02-16 2016-01-05 Sap Se Consistent interface for user feed administrator, user feed event link and user feed settings
US8984050B2 (en) 2012-02-16 2015-03-17 Sap Se Consistent interface for sales territory message type set 2
US8756274B2 (en) 2012-02-16 2014-06-17 Sap Ag Consistent interface for sales territory message type set 1
US9237425B2 (en) 2012-02-16 2016-01-12 Sap Se Consistent interface for feed event, feed event document and feed event type
WO2014000200A1 (en) 2012-06-28 2014-01-03 Sap Ag Consistent interface for document output request
US8756135B2 (en) 2012-06-28 2014-06-17 Sap Ag Consistent interface for product valuation data and product valuation level
US8615451B1 (en) 2012-06-28 2013-12-24 Sap Ag Consistent interface for goods and activity confirmation
US8949855B2 (en) 2012-06-28 2015-02-03 Sap Se Consistent interface for address snapshot and approval process definition
US9246869B2 (en) 2012-06-28 2016-01-26 Sap Se Consistent interface for opportunity
US9367826B2 (en) 2012-06-28 2016-06-14 Sap Se Consistent interface for entitlement product
US9400998B2 (en) 2012-06-28 2016-07-26 Sap Se Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule
US9557974B2 (en) 2012-07-10 2017-01-31 Oracle International Corporation System and method for supporting compatibility checking for lambda expression
US9547833B2 (en) 2012-08-22 2017-01-17 Sap Se Consistent interface for financial instrument impairment calculation
US9076112B2 (en) 2012-08-22 2015-07-07 Sap Se Consistent interface for financial instrument impairment expected cash flow analytical result
US9043236B2 (en) 2012-08-22 2015-05-26 Sap Se Consistent interface for financial instrument impairment attribute values analytical result
US9191357B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
US9191343B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for appointment activity business object
US9430452B2 (en) 2013-06-06 2016-08-30 Microsoft Technology Licensing, Llc Memory model for a layout engine and scripting engine

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5187786A (en) 1991-04-05 1993-02-16 Sun Microsystems, Inc. Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system
US6378003B1 (en) * 1993-04-05 2002-04-23 International Business Machines Corporation Method and system for deriving metaclasses in an object oriented system
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
US5635693A (en) * 1995-02-02 1997-06-03 International Business Machines Corporation System and method for tracking vehicles in vehicle lots
US5778227A (en) * 1995-08-01 1998-07-07 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
US6230159B1 (en) 1997-04-30 2001-05-08 Microsoft Corporation Method for creating object inheritance
US6191790B1 (en) * 1998-04-01 2001-02-20 Microsoft Corporation Inheritable property shading system for three-dimensional rendering of user interface controls
US6083276A (en) * 1998-06-11 2000-07-04 Corel, Inc. Creating and configuring component-based applications using a text-based descriptive attribute grammar
US6336211B1 (en) 1999-05-20 2002-01-01 Xilinx, Inc. Method and apparatus for implementing type-safe heterogeneous property lists
US20010029604A1 (en) 2001-04-27 2001-10-11 Jacob Dreyband Descriptive data construct mapping method and apparatus
US20040088448A1 (en) * 2001-10-16 2004-05-06 Userspace Corporation Embedded system and method for controlling, monitoring of instruments or devices and processing their data via control and data protocols that can be combined or interchanged

Also Published As

Publication number Publication date
CA2427288C (en) 2011-08-16
TW200408979A (en) 2004-06-01
NO20032993D0 (en) 2003-06-27
MXPA03005356A (en) 2004-10-29
US20040002991A1 (en) 2004-01-01
JP4365142B2 (en) 2009-11-18
NZ525483A (en) 2004-10-29
EP1378828A3 (en) 2006-12-13
CO5470295A1 (en) 2004-12-30
NO20032993L (en) 2003-12-29
KR20040002784A (en) 2004-01-07
ZA200303345B (en) 2004-04-22
EP1378828A2 (en) 2004-01-07
CN1470984A (en) 2004-01-28
CN1470984B (en) 2012-12-12
AU2003204351B2 (en) 2009-11-12
IL155571A (en) 2008-11-03
RU2321882C2 (en) 2008-04-10
RU2003119525A (en) 2005-01-10
IL155571A0 (en) 2003-11-23
PL360131A1 (en) 2003-12-29
NO331544B1 (en) 2012-01-23
BR0302032A (en) 2004-08-24
TWI287203B (en) 2007-09-21
SG107142A1 (en) 2004-11-29
MX342196B (en) 2016-09-20
MY133528A (en) 2007-11-30
HK1060925A1 (en) 2004-08-27
US7055132B2 (en) 2006-05-30
AU2003204351A1 (en) 2004-01-22
JP2004038958A (en) 2004-02-05
KR100571466B1 (en) 2006-04-17

Similar Documents

Publication Publication Date Title
CA2427288A1 (en) System and method for associating properties with objects
US6915304B2 (en) System and method for converting an XML data structure into a relational database
US7181694B2 (en) Software customization objects for programming extensions associated with a computer system
US7810102B2 (en) Service adaptation of the enterprise services framework
US8307015B2 (en) Decorated model architecture for efficient model-driven application development
KR100942322B1 (en) System and method for defining and using subclasses declaratively within markup
CN102541996B (en) JDBC (java database connectivity) based data access layer building method and device utilizing same
US20180005187A1 (en) Business model data management
US20080256509A1 (en) Pattern-based programming system for automatic code generation
US20070198541A1 (en) Method and system for efficiently storing semantic web statements in a relational database
CN111506314A (en) Project development method, device, server and medium
US20040230555A1 (en) System and method for representing a relational database as a java object
WO2018086711A1 (en) A method for composing an application using a plurality of distributed interaction patterns
US7516460B2 (en) System and method for creating a runtime connection interface for attributes and element tags defined within a subclass in a markup document
CN103116622B (en) A kind of sequence value generation method for Ibatis scheme and device
US20070174823A1 (en) Compile-time interpretable code error detection
US8793263B2 (en) Avoiding duplicate and equivalent data objects in service registries
Pollack et al. Spring Data MongoDB-Reference Documentation
Konat et al. The spoofax name binding language
Fisher et al. GORM and Grails
Krause et al. Application Techniques
CN114115815A (en) Method and device for using ORM framework based on dynamic entity object
CN117149260A (en) System configuration implementation method and device, electronic equipment and readable storage medium
Fisher et al. Rapid Web Development Using Groovy and Grails
Huang et al. The Framework of the Kernel Technology of Hibernate

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20140430