Echo Hollow

Gender-Bending Interactive Stories! :D

User Tools

Site Tools


libtf:documentation:api:persistentobject

This is an old revision of the document!


<-- Back

LibTF.PersistentObject

Blurb.

Fields

(PersistentObject).id

  • Getter: Returns the persistence id of this object.
  • Setter: None.

(PersistentObject).parentId

  • Getter: Returns the persistence id of this object's parent, or null if it doesn't have a parent.
  • Setter: None.

(PersistentObject).parent

  • Getter: Returns fully instantiated parent of this object.
  • Setter: None.

Methods

(PersistentObject).hasPersistent( subid )

  • subid is a persistence id fragment referring to some child data record for this object.
  • Returns: True if there is a record for the specified child data on this object, or False if there is not.
  • Throws: Error if: subid contains invalid characters.

Checks to see if there is child data for the given subid available for this object.

This method is generally only used internally by derived classes. You probably won't need to use this method unless you are actually extending the library itself.

if( tfGet("joe").hasPersistent("lastName") )
	alert( "Joe has a lastName child field!" );

(PersistentObject).getPersistent( subid )

  • subid is a persistence id fragment referring to some child data record for this object.
  • Returns: The specified child data from this object, or null if there is none.
  • Throws: Error if: subid contains invalid characters.

Returns the child data for the given subid on this object.

This method is generally only used internally by derived classes. You probably won't need to use this method unless you are actually extending the library itself.

alert( "Joe's last name is " + tfGet("joe").getPersistent("lastName") + "!" );

(PersistentObject).setPersistent( subid, value )

  • subid is a persistence id fragment referring to some child data record for this object.
  • value is what to set that child data to.
  • Returns: Nothing, but that is a bug and it ought to return the previous value.
  • Throws: Error if: subid contains invalid characters.

Sets the child data for the given subid on this object to value.

This method is generally only used internally by derived classes. You probably won't need to use this method unless you are actually extending the library itself.

tfGet("joe").setPersistent( "lastName", "Josephson" );
		this.resetPersistent = function( subid )
		{
			if( subid == null )
				throw "Null id!";
			return Persistence.reset( id+"."+subid );
		}
	    this.getName = function()
	    {
	    	if( this.hasPersistent("name") )
	    		return this.getPersistent("name");
	    	return null;
	    }
		this.getAName = function()
		{
			var name = this.getName();
			if( this.getPersistent("nameIsProper") || name.charAt(0) == name.charAt(0).toUpperCase() )
				return name;
			if( this.hasPersistent("nameIrregularArticle") )
				return this.getPersistent("nameIrregularArticle")+" "+name;
			switch( name.charAt(0) )
			{
				case 'a':
				case 'e':
				case 'i':
				case 'o':
				case 'u':
					return "an " + name;
				default:
					return "a " + name;
			}
		}

<-- Back

libtf/documentation/api/persistentobject.1519526705.txt.gz ยท Last modified: 2018/02/24 18:45 by lee