Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.swing.text.StyleContext.SmallAttributeSet
Fields inherited from interface javax.swing.text.AttributeSet | |
NameAttribute , ResolveAttribute |
Constructor Summary | |
| |
Method Summary | |
Object |
|
boolean |
|
boolean |
|
AttributeSet |
|
boolean | |
Object |
|
int |
|
Enumeration |
|
AttributeSet |
|
int |
|
boolean | |
boolean |
|
String |
|
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public Object clone()
This method may be called to create a new copy of the Object. The typical behavior is as follows:
o == o.clone()
is falseo.getClass() == o.clone().getClass()
is trueo.equals(o)
is trueHowever, these are not strict requirements, and may be violated if necessary. Of the three requirements, the last is the most commonly violated, particularly if the subclass does not override
Object.equals(Object)
.If the Object you call clone() on does not implement
Cloneable
(which is a placeholder interface), then a CloneNotSupportedException is thrown. Notice that Object does not implement Cloneable; this method exists as a convenience for subclasses that do.Object's implementation of clone allocates space for the new Object using the correct class, without calling any constructors, and then fills in all of the new field values with the old field values. Thus, it is a shallow copy. However, subclasses are permitted to make a deep copy.
All array types implement Cloneable, and override this method as follows (it should never fail):
public Object clone() { try { super.clone(); } catch (CloneNotSupportedException e) { throw new InternalError(e.getMessage()); } }
- Returns:
- a copy of the Object
- See Also:
Cloneable
public boolean containsAttribute(Object name, Object value)
Returnstrue
if thisAttributeSet
contains an attribute with the specifiedname
andvalue
,false
otherwise.
- Specified by:
- containsAttribute in interface AttributeSet
- Parameters:
name
- the name of the requested attributevalue
- the value of the requested attribute
- Returns:
true
if thisAttributeSet
contains an attribute with the specifiedname
andvalue
,false
otherwise
public boolean containsAttributes(AttributeSet a)
Returnstrue
of thisAttributeSet
contains all of the specifiedattributes
.
- Specified by:
- containsAttributes in interface AttributeSet
- Parameters:
- Returns:
true
of thisAttributeSet
contains all of the specifiedattributes
public AttributeSet copyAttributes()
Creates and returns a copy of thisAttributeSet
.
- Specified by:
- copyAttributes in interface AttributeSet
- Returns:
- a copy of this
AttributeSet
public boolean equals(Object obj)
Determine whether this Object is semantically equal to another Object.There are some fairly strict requirements on this method which subclasses must follow:
- It must be transitive. If
a.equals(b)
andb.equals(c)
, thena.equals(c)
must be true as well.- It must be symmetric.
a.equals(b)
andb.equals(a)
must have the same value.- It must be reflexive.
a.equals(a)
must always be true.- It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
a.equals(null)
must be false.- It must be consistent with hashCode(). That is,
a.equals(b)
must implya.hashCode() == b.hashCode()
. The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.This is typically overridden to throw a
ClassCastException
if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal fora.equals(b)
to be true even thougha.getClass() != b.getClass()
. Also, it is typical to never cause aNullPointerException
.In general, the Collections API (
java.util
) use theequals
method rather than the==
operator to compare objects. However,IdentityHashMap
is an exception to this rule, for its own good reasons.The default implementation returns
this == o
.
- Parameters:
obj
- the Object to compare to
- Returns:
- whether this Object is semantically equal to another
- See Also:
Object.hashCode()
public Object getAttribute(Object key)
Returns the attribute with the specifiedkey
ornull
if no such attribute is defined in thisAttributeSet
and its resolving parents.
- Specified by:
- getAttribute in interface AttributeSet
- Parameters:
key
- the key of the attribute that is looked up
- Returns:
- the attribute with the specified
key
ornull
if no such attribute is defined in thisAttributeSet
and its resolving parents
public int getAttributeCount()
Returns the number of attributes that are stored locally in thisAttributeSet
.
- Specified by:
- getAttributeCount in interface AttributeSet
- Returns:
- the number of attributes that are stored locally in this
AttributeSet
public Enumeration getAttributeNames()
Returns the names of the attributes that are stored in thisAttributeSet
.
- Specified by:
- getAttributeNames in interface AttributeSet
- Returns:
- the names of the attributes that are stored in this
AttributeSet
public AttributeSet getResolveParent()
Returns the resolving parent of thisAttributeSet
. If a key is not stored locally, then aAttributeSet.getAttribute(Object)
request is resolved up in the resolving parent of thisAttributeSet
.
- Specified by:
- getResolveParent in interface AttributeSet
- Returns:
- the resolving parent of this
AttributeSet
public int hashCode()
Get a value that represents this Object, as uniquely as possible within the confines of an int.There are some requirements on this method which subclasses must follow:
- Semantic equality implies identical hashcodes. In other words, if
a.equals(b)
is true, thena.hashCode() == b.hashCode()
must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal.- It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.
Notice that since
hashCode
is used inHashtable
and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.The default implementation returns
System.identityHashCode(this)
- Returns:
- the hash code for this Object
public boolean isDefined(Object key)
Returnstrue
if an attribute with the specified name is defined locally in thisAttributeSet
, without resolving through the resolving parents.
- Specified by:
- isDefined in interface AttributeSet
- Returns:
true
if an attribute with the specified name is defined locally in thisAttributeSet
public boolean isEqual(AttributeSet attr)
Returnstrue
if all of the attributes inattr
are equal to the attributes in thisAttributeSet
,false
otherwise.
- Specified by:
- isEqual in interface AttributeSet
- Parameters:
attr
- the attributes to be compared tothis
- Returns:
true
if all of the attributes inattr
are equal to the attributes in thisAttributeSet
,false
otherwise
public String toString()
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it intoSystem.out.println()
and such.It is typical, but not required, to ensure that this method never completes abruptly with a
RuntimeException
.This method will be called when performing string concatenation with this object. If the result is
null
, string concatenation will instead use"null"
.The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode())
.
- Returns:
- the String representing this Object, which may be null
- See Also:
getClass()
,Object.hashCode()
,Class.getName()
,Integer.toHexString(int)