|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Interface of an Data-Bean, normaly use SkidBean
where all nessacary
methods are implemented. This interface is a workaround if polymorpy is nessecary and to
implement the Remote-Interface automatically. Therefor all Beans are accessible via RMI.
Important: The Last Method of the ROOT-IMPLEMENTATION of RemoteBean has to
implement SkidBean.LAST_METHOD
as last method!
Important: public static RemoteBroker THIS
has to be defined
within each VM to guarantie regular behavior within Skid!
Important: Key values which are accessible via the RemoteBroker
have to be defined following the Java-Beans-Convention using the getXXXX
methods for key-generation.
Remark: All attribues used by the Object which
are not intended to be persitent have to be declared transient
and restored
by default or the parameterless constructor.
Remark: A System-Object cannot be modified and carries the created-Timestamp 0
SkidBean
,
RemoteBroker
Method Summary | |
void |
addEvent(RemoteBean event)
Adding an Event and replicating it to all suscribed Objects. |
java.lang.Object |
cloneBean()
Clones the Object and does all the settings neccesary to be assigned as a new SkidBean. |
void |
flush()
Save all modifications (if any) and checks if the update is possible (timestamp of the RemoteBroker). |
long |
getAge()
Timestamp "Age" of the Bean (= current version by the Modified-Timestamp). |
byte |
getBeanType()
(Unique) Primary Key of the Bean. |
RemoteBroker |
getBroker()
Get Link to the RemoteBroker (one per VM). |
java.lang.String[] |
getChangeHistory()
Produces a discription of the last changes which can be undone. |
int |
getClassKey()
Returns the type of the Bean's class, used for the loading-signature. |
long |
getCreated()
Timestamp "Created" of the Bean. |
SkidEvent[] |
getEvent(long newer)
Returns the Events for this bean which are newer than the given time |
SkidBeanFilter |
getFilter()
Returns a Filter for this (and all parent) class. |
java.lang.String |
getIdentifier()
Get the Identifier of the Bean which shall be unique worldwide for different Objects (like different Plans with luckily the same Name) and common for identical Objects (like a Person reentered), do not use manually. |
int |
getKey()
Returns the type of the Bean, used for the loading-signature. |
BeanLink[] |
getLink(BeanLinkFilter filter)
Returns a set of Links defined by an filterobject. |
java.lang.reflect.Method[] |
getMethods()
Returns an array containing Method objects reflecting all the public member methods of the class or interface represented by this Class object, including those declared by the class or interface and and those inherited from superclasses and superinterfaces. |
long |
getModified()
Timestamp "Modified" of the Bean. |
java.lang.String |
getName()
Returns the name of the Bean which shold be human readable and may be unique in some cases, but this is not strictly required. |
java.lang.Object |
getObject()
Returns the wrapped Object (if wrapped by a container) or the Bean (if it's no wrapper) |
byte |
getUpdatePolicy()
Get's the update policy defined by the UPDATE_* constants. |
boolean |
init(int pKey,
int cKey,
RemoteBroker broker)
All Keys of the Bean which are established at the first insert to the RemoteBroker, do not use manually. |
java.lang.Object |
invoke(java.lang.String name,
java.lang.Object[] args,
boolean modify)
Invokes the underlying method represented by this Method object, on the specified object with the specified parameters. |
boolean |
isChanged()
Has the Bean been changed? |
boolean |
isNew()
Ist das Bean neu? |
boolean |
isReadOnly()
Ist the Bean read only? |
boolean |
putLink(BeanLink link)
Adds a Relaition between Beans |
void |
setAge()
Sets the Age to the Modified timestamp, therefor IsChanged = false, do not use manually! |
void |
suscribeEvent(RemoteBean producer,
RemoteBean event)
Adding an Event-Pattern and suscribing this type of event. |
boolean |
undo(int steps)
Undo the last steps changes (0 = all,
-1 no undo but ask if any undos possible). |
Method Detail |
public RemoteBroker getBroker()
public byte getUpdatePolicy()
UPDATE_*
constants.asgaard.skid.RemoteBean.UPDATE_ALL
,
asgaard.skid.RemoteBean.UPDATE_WEAK
,
asgaard.skid.RemoteBean.UPDATE_STRONG
public java.lang.String getIdentifier()
public java.lang.String getName()
public int getKey() throws SkidException
public int getClassKey() throws SkidException
public byte getBeanType()
public long getCreated() throws SkidException
System#currentTimeMillis
public long getModified() throws SkidException
System#currentTimeMillis
public long getAge() throws SkidException
System#currentTimeMillis
public void setAge()
asgaard.skid.RemoteBroker#put
public BeanLink[] getLink(BeanLinkFilter filter) throws java.lang.Exception
null
) all Links of this Bean are searched.filter
- the filterobjectBeanLinkFilter
public boolean putLink(BeanLink link) throws java.lang.Exception
link
- one relationpublic void addEvent(RemoteBean event)
event
- the kond of the event (not null
)public void suscribeEvent(RemoteBean producer, RemoteBean event)
producer
- of the event (not null
)event
- the kond of the event (not null
)public SkidEvent[] getEvent(long newer)
newer
- than the given timepublic boolean init(int pKey, int cKey, RemoteBroker broker)
insertBean
.pKey
- the generated unique primary keycKey
- the class-keybroker
- defines the owning brokerasgaard.skid.RemoteBroker.insertBean
public boolean isChanged()
public boolean isNew()
public boolean isReadOnly()
public java.lang.Object getObject()
public SkidBeanFilter getFilter()
public java.lang.reflect.Method[] getMethods() throws java.lang.SecurityException
java.lang.reflect.Method#getMethods
public java.lang.Object invoke(java.lang.String name, java.lang.Object[] args, boolean modify) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.NullPointerException, java.lang.NoSuchMethodException
name
- the name of the Methodargs
- the Argumentsmodify
- call the modify-method too? (not including undo)Method.invoke(java.lang.Object, java.lang.Object[])
public void flush() throws java.lang.Exception
public java.lang.String[] getChangeHistory()
public boolean undo(int steps)
steps
changes (0
= all,
-1
no undo but ask if any undos possible). The call of the
flush()
methods resets the UNDO-mechanism and clear all relied information.steps
- cont of changes to undopublic java.lang.Object cloneBean() throws java.lang.CloneNotSupportedException
flush()
,
asgaard.skid.RemoteBroker#put
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |