Enforce setting private variable in subclass with abstract method

Hi,
Is this something that is common usage/practice?:
public abstract class Base {
    private int importantPrivateVariable = setImportantPrivateVariable();
    protected abstract int setImportantPrivateVariable();
}I would like to enforce the extender of the class to set a private variable, but as there is no abstract variable in java, I can only use a method for it.
Thanks,
lemonboston
Edit: the variable could be protected as well, I suppose this is not important here, but correct me if I am wrong

lemonboston wrote:
Hi,
Is this something that is common usage/practice?:I don't think that's so common, but that's code easily understandable. However there are several problems with this approach:
public abstract class Base {
private int importantPrivateVariable = setImportantPrivateVariable();
protected abstract int setImportantPrivateVariable();
}I would like to enforce the extender of the class to set a private variableThat's no what your code implements: your base class forces the subclasses to return an int value, and the Base class uses that value to assign it to the variable.
Therefore the method should be called get<Something> (e.g. <TT>getInitialValueOfImportantVariable()</TT>+ to have a naming consistent with its signature (it returns a value, whereas a regular setter method should declare a void return type: <TT>protected abstract void setImportantPrivateVariable(int someValue);</TT>).
Edit: the variable could be protected as well, I suppose this is not important here,Well, yes, this is "important" - at least, there a noticeable difference: the variable being private, the base class is free to handle it as it sees fit (e.g., assign the value at construction time and never modify it afterwards). If the variable was protected, the subclass could modify in ways and at times not known by the base class.
but correct me if I am wrongThere's a trap in this construct: the method is called in the variable initializer, that is, behind the scenes, approximately during the execution of the Base class constructor, so before the subclass constructor. So, you are calling a method on an object that is not fully initialized (e.g. some of its attributes may still be <TT>null</TT> at this stage). There is a rule that discourages such situations, that goes something like "don't call non-private and non-final methods from a constructor".
To avoid this trap, two options:
- require an int argument in the Base class's constructor , as was suggested above
- don't get and set the value of the important variable in the initializer or constructor code, but from a special method in the base class instead:
public abstract class Base {
    private int importantPrivateVariable; // default value is zero
// or alternatively:
//    private int importantPrivateVariable = ...; // Some default value
    protected abstract int getImportantPrivateVariable();
    public void initializeImportantPrivateVariable() {
        importantPrivateVariable = getImportantPrivateVariable();
}That construct is a degenerate form of a common design pattern known under the name of Template Method (where a base class method calls generally several subclass methods in a specified order and with a specified chaining, leaving it to the subclass to implement the details of the methods).
The drawback is that the client code (the one that uses the Base instance) has to know when to call that initialization method, whereas the constructor-based initialization lets the client code free to not care at all.
Much luck,
J.

Similar Messages

  • Defining enum with abstract method which returns a generic type

    Is it possible to define an abstract method which returns an geneic type like below? Thanks
    public enum Type{
         A{
              public List<Integer> getData(){}
         B{
              public Set<String> getData{}
         abstract<T> T getData();
    }

    vulee wrote:
    Why not?
    List<Integer> lst = Type.A.getData();Wonder, which compiler you use. Can't be Java6:
    # javac Enums.java
    Enums.java:23: incompatible types
    found   : java.util.Collection<capture#376 of ?>
    required: java.util.List<java.lang.Integer>
                    List<Integer> data = Type.A.getData();
                                                       ^
    1 errorEdit: Unless you do it the generic way as you proposed, which actually is a phoney. Because of the T being a generic method parameter, the compiler will infer it from the type of the variable it gets assigned to. Hence, both of the following will compile:
    List<Integer> lst = Type.A.getData();
    Set<String> lst2 = Type.A.getData(); // Runtime exceptionActually, javac is telling you that giving warnings on the enum constants redefined method return types.
    Edited by: stefan.schulz on Sep 10, 2008 11:38 PM

  • Superclass and subclass and abstract method

    Hi all,
    I am a little bit confused about abstract methods.
    I define a superclass without abstract keyword and an abstract method inside the superclass. Then I write a subclass to extend the superclass.
    When I compile the source code I get error. It looks like I can't initiate an instance from the supercalss and/or subclass. If I put abstract key word in the superclass definition there is no problem at all. So my question: does abstract method needed to be defined in an abstract superclass only?
    Thank for you input.

    Abstract methods can only be declared in an abstract class.

  • Set 2 variables (PL/SQL)

    Hi,
    I would like to set 2 variables PL/SQL with a query like that :
    SELECT FINAC_USER.NM_FIRST_NAME INTO FIRST_N,
    FINAC_USER.NM_LAST_NAME INTO LAST_N
    FROM FINAC_USER
    WHERE FINAC_USER.CD_USER = CODE_USER;
    But Oracle sends me an error :
    PL/SQL: ORA-00923: FROM keyword not found where expected
    How can I do that ?
    Thank you for your help.
    Patrick

    anutosh, please do not answer questions that have already been answered. You have done that several times here now. It is not a good use of our time to open up a thread and see that the only new entry is the rewording of a valid answer already provided.

  • Abstract methods in ByteBuffer class

    I'am a little confused with abstract methods get() and put() in ByteBuffer class.
    Java API says:
    public abstract class ByteBuffer
    extends Buffer implements Comparable
    // This is a partial API listing
    public abstract byte get( );
    public abstract byte get (int index);
    public abstract ByteBuffer put (byte b);
    public abstract ByteBuffer put (int index, byte b);
    }Question is:
    How can I call methods get() and/or put() when they are abstract - not implemented in ByteBuffer class?
    Thanks

    Yeah, it's a subclass of ByteBuffer. You can find out more about the class by using introspection.
    But, you don't have to, to use this API. This is called "design-by-contract" (well, part of it anyway), and that's why the class is hidden with respect to the API docs. The idea is that an API is kind of like a contract, an agreement between the designer and the user of the API. The user of the API is given just what s/he needs to do the job. The designer might implement the API with more stuff that is immediately apparent, but the user doesn't need to know that stuff to use the API. This provides a good layer of abstraction around the API and makes code more flexible.
    So, it's good to know how these things work -- that the ByteBuffer contract is serviced by hidden implementing classes -- but you don't have to know that to use ByteBuffer, and in fact you'd probably only make things difficult (buggy and hard to maintain) if you wrote code that used the fact that apparently the implementing subclass of ByteBuffer is HeapByteBuffer.

  • Covariant Method Arguments/Returntypes on abstract methods

    Hi all,
    can someone enlight me - please!
    is there a special reason, why i cannot use the new jdk 5 covariant arguments/returntype feature in conjunction with abstract methods???
    I cannot find a reason anywhere!
    I did something like this:
    public interface DAO {
      public boolean save(Base b);
      public Base read(Long id);
    public abstract class AbstractBaseDAO implements DAO {
      public abstract boolean save(Base b);
      public abstract Base read(Long id);
    public class PersonDAO extends AbstractBaseDAO {
      public boolean save(Person p) {
      public Person read(Long id) {
    Of course Person extends Base ...
    Any hints, etc. are welcome!
    kind regards
    K:)

    And if it does apply to args, won't it have to go the other way?
    That is, if the interface/parent class takes Person as an arg, then the subclass can take Base.
    The way you have it, the interface requires you to accept Base as an arg--ANY Base, but your subclass' save method requires a Person, so it won't work with a non-person base. The subclass isn't honoring its parent's contract. Covariance won't change that.

  • Newbie question about abstract methods

    hey, I'm working on a web application that I was given and I'm a little confused about
    some of the code in some of the classes. These are some methods in this abstract class. I don't understand
    how this post method works if the method it's calling is declared abstract. Could someone please tell me how this works?
        public final Representation post(Representation entity, Variant variant) throws ResourceException {
            prePostAuthorization(entity);
            if (!authorizeGet()) {
                return doUnauthenticatedGet(variant);
            } else {
                return doAuthenticatedPost(entity, variant);
    protected abstract boolean authorizeGet();Thanks
    Edited by: saru88 on Aug 10, 2010 8:09 PM

    Abstract Methods specify the requirements, but to Implement the functionality later.
    So with abstract methods or classes it is possible to seperate the design from the implementation in a software project.
    Abstract methods are always used together with extended classes, so I am pretty sure that you are using another class.
    Btw: Please post the Code Keyword in these brackets:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

  • Why can't classes with private constructors be subclassed?

    Why can't classes with private constructors be subclassed?
    I know specifying a private nullary constructor means you dont want the class to be instantiated or the class is a factory or a singleton pattern. I know the workaround is to just wrap all the methods of the intended superclass, but that just seems less wizardly.
    Example:
    I really, really want to be able to subclass java.util.Arrays, like so:
    package com.tassajara.util;
    import java.util.LinkedList;
    import java.util.List;
    public class Arrays extends java.util.Arrays {
        public static List asList(boolean[] array) {
            List result = new LinkedList();
            for (int i = 0; i < array.length; i++)
                result.add(new Boolean(array));
    return result;
    public static List asList( char[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Character(array[i]));
    return result;
    public static List asList( byte[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Byte(array[i]));
    return result;
    public static List asList( short[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Short(array[i]));
    return result;
    public static List asList( int[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Integer(array[i]));
    return result;
    public static List asList( long[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Long(array[i]));
    return result;
    public static List asList( float[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Float(array[i]));
    return result;
    public static List asList( double[] array) {
    List result = new LinkedList();
    for (int i = 0; i < array.length; i++)
    result.add(new Double(array[i]));
    return result;
    // Now that we extend java.util.Arrays this method is not needed.
    // /**JCF already does this so just wrap their implementation
    // public static List asList(Object[] array) {
    // return java.util.Arrays.asList(array);
    public static List asList(Object object) {
    List result;
    Class type = object.getClass().getComponentType();
    if (type != null && type.isPrimitive()) {
    if (type == Boolean.TYPE)
    result = asList((boolean[])object);
    else if (type == Character.TYPE)
    result = asList(( char[])object);
    else if (type == Byte.TYPE)
    result = asList(( byte[])object);
    else if (type == Short.TYPE)
    result = asList(( short[])object);
    else if (type == Integer.TYPE)
    result = asList(( int[])object);
    else if (type == Long.TYPE)
    result = asList(( long[])object);
    else if (type == Float.TYPE)
    result = asList(( float[])object);
    else if (type == Double.TYPE)
    result = asList(( double[])object);
    } else {
    result = java.util.Arrays.asList((Object[])object);
    return result;
    I do not intend to instantiate com.tassajara.util.Arrays as all my methods are static just like java.util.Arrays. You can see where I started to wrap asList(Object[] o). I could continue and wrap all of java.util.Arrays methods, but thats annoying and much less elegant.

    Why can't classes with private constructors be
    subclassed?Because the subclass can't access the superclass constructor.
    I really, really want to be able to subclass
    java.util.Arrays, like so:Why? It only contains static methods, so why don't you just create a separate class?
    I do not intend to instantiate
    com.tassajara.util.Arrays as all my methods are static
    just like java.util.Arrays. You can see where I
    started to wrap asList(Object[] o). I could continue
    and wrap all of java.util.Arrays methods, but thats
    annoying and much less elegant.There's no need to duplicate all the methods - just call them when you want to use them.
    It really does sound like you're barking up the wrong tree here. I can see no good reason to want to subclass java.util.Arrays. Could you could explain why you want to do that? - perhaps you are misunderstanding static methods.
    Precisely as you said, if they didn't want me to
    subclass it they would have declared it final.Classes with no non-private constructors are implicitly final.
    But they didn't. There has to be a way for an API
    developer to indicate that a class is merely not to be
    instantiated, and not both uninstantiable and
    unextendable.There is - declare it abstract. Since that isn't what was done here, I would assume the writers don't want you to be able to subclass java.util.Arrays

  • (Bash) How to set a variable with text from a file? [SOLVED]

    I'm having a little problem.
    I have textfile with a single line of text. What I want to do is set a variable with that line of text. How do I go about doing that?
    A simple var="text" wont work in this case, since the text in the file changes with another script of mine.
    Thanks in advance.
    Last edited by Aziere (2007-03-27 09:07:03)

    if you have a file with more than one line but you only want the first line you could use 'head'
    VAR=`head -n 1 file`
    Last edited by SiD (2007-03-27 05:58:33)

  • Setting Multi Variables with Multi SQL Queries: Performance Bottleneck?

    Hello ODI Experts,
    I have created a Logical & Physical Schema and Source Data Store to pick data from DB Table. Now I am setting variables with simple SELECT Query for setting each variable (in its Refreshing tab>Select Query field).
    It gives me a less optimized approach picking one column per query (per variable). Lets say, I have to pick 35 columns from a table and put those in 35 variables...It would mean running 35 queries for fetching one record from the database table.
    Doesn't it seem less performance effective (less optimized)..a little scary..or ODI does it with some internal optimized technique?
    Any thing better or a different approach that I can do to make variable setting more optimized?
    Please guide.
    Thanks & Regards,
    Ahsan Asghar

    Hi GottaLoveSQL,
    According to your description, you want to improve the performance of report with subreports. Right?
    In Reporting Services, the usage of subreport will impact the report performance, because the report server processes each instance of a subreport as a separate report. So the best way is avoid using subreport by using LookUp , MultiLookUp , LookUpSet, which
    will bridge different data sources. In this scenario, we suggest you cache the report with subreport. We can create a cache refresh plan for the report in Report Manager. Please refer to the link below:
    http://technet.microsoft.com/en-us/library/ms155927.aspx
    Reference:
    Report Performance Optimization Tips (Subreports, Drilldown)
    Performance, Snapshots, Caching (Reporting Services)
    Performance Issue in SSRS 2008
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • Help with setting/getting variables in app

    Hi,
    I have an application which behaves in the following manner:
    1. User logs in.
    2. User is presented with a list of projects; user clicks on a project to drill down to that project.
    3. User is presented with project information which includes 4 separate lists of tasks grouped by week. So there are tasks for the current week the user is in plus task for the 3 weeks out.
    4. User can edit talks or create new ones for each of the 4 weekly groupings.
    Given that, on the main page for a project I have set up a report and form for each of the weekly groupings. I also have an item for the project id as well as each weekly grouping id. The goal there is that when a user clicks the "create" button they can create a new task for the appropriate weekly group. However, this isn't working.
    For the first weekly group when I click "create" I'm presented with the form to fill out for the task. All of the info is there, including the correct id for that weekly group so the task gets assigned to it properly. However, when I save I get an error which says that particular id is null.
    For the next three groups when I click "create" I'm given the same thing as above but without the id for the weekly group. Even if I set it and save things I'm getting the same error.
    So, I'm wondering what I've done wrong in the app flow. Am I setting these variables too early, too late? Am I really not picking them up in spite of what I see on my screen? Have I missed some fundamentals of Apex here?
    Thanks in advance for your time and help.
    Jon

    Varad....here you go...thanks!
    0.16: A C C E P T: Request="CREATE"
    0.21: Metadata: Fetch application definition and shortcuts
    0.22: NLS: wwv_flow.g_flow_language_derived_from=FLOW_PRIMARY_LANGUAGE: wwv_flow.g_browser_language=en-us
    0.23: alter session set nls_language="AMERICAN"
    0.23: alter session set nls_territory="AMERICA"
    0.23: NLS: CSV charset=WE8MSWIN1252
    0.23: ...NLS: Set Decimal separator="."
    0.23: ...NLS: Set NLS Group separator=","
    0.23: ...NLS: Set date format="DD-MON-RR"
    0.23: ...Setting session time_zone to -08:00
    0.25: Fetch session state from database
    0.27: ...Check session 1196910493324671 owner
    0.27: ...Metadata: Fetch Page, Computation, Process, and Branch
    0.27: Session: Fetch session header information
    0.27: ...Metadata: Fetch page attributes for application 120, page 18
    0.28: ...Validate item page affinity.
    0.28: ...Validate hidden_protected items.
    0.33: ...Check authorization security schemes
    0.33: Session State: Save form items and p_arg_values
    0.33: ...Session State: Save "P18_TASK_SEQ" - saving same value: ""
    0.33: ...Session State: Save "P18_WEEK_GROUP_SEQ" - saving same value: ""
    0.34: ...Session State: Saved Item "P18_DISCIPLINE_SEQ" New Value="1"
    0.34: ...Session State: Saved Item "P18_TASK_TITLE" New Value="Test"
    0.34: ...Session State: Saved Item "P18_TASK_PRIORITY" New Value="5"
    0.35: ...Session State: Saved Item "P18_PERCENTAGE_COMPLETE" New Value="25"
    0.35: ...Session State: Saved Item "P18_TASK_RISK" New Value="None"
    0.35: ...Session State: Saved Item "P18_TASK_IMPACT" New Value="None"
    0.36: ...Session State: Saved Item "P18_TASK_MITIGATION" New Value="None"
    0.36: ...Session State: Saved Item "P18_CREATED_ON" New Value="12-DEC-08"
    0.37: ...Session State: Saved Item "P18_CREATED_BY" New Value="jwynacht"
    0.37: ...Session State: Save "P18_CREATED_FROM_TASK_SEQ" - saving same value: ""
    0.37: ...Session State: Saved Item "P18_LAST_MODIFIED_ON" New Value="12-DEC-08"
    0.37: ...Session State: Saved Item "P18_LAST_MODIFIED_BY" New Value="jwynacht"
    0.38: ...Session State: Saved Item "P18_DELETE_FLAG" New Value="0"
    0.38: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
    0.38: Branch point: BEFORE_COMPUTATION
    0.38: Computation point: AFTER_SUBMIT
    0.38: ...Evaluate condition "PLSQL_EXPRESSION" for computation of item: P18_WEEK_GROUP_SEQ
    0.39: Tabs: Perform Branching for Tab Requests
    0.39: Branch point: BEFORE_VALIDATION
    0.39: Perform validations:
    0.40: ...Item Not Null Validation: P18_WEEK_GROUP_SEQ
    0.40: ...Validation did NOT pass
    0.40: ...Item Not Null Validation: P18_DISCIPLINE_SEQ
    0.40: ...Item Not Null Validation: P18_TASK_TITLE
    0.40: ...Item Not Null Validation: P18_TASK_PRIORITY
    0.40: ...Item Not Null Validation: P18_CREATED_ON
    0.40: ...Item Not Null Validation: P18_CREATED_BY
    0.40: ...Item Not Null Validation: P18_LAST_MODIFIED_ON
    0.40: ...Item Not Null Validation: P18_LAST_MODIFIED_BY
    0.40: ...Item Not Null Validation: P18_DELETE_FLAG
    0.41: ...Inline validation error count = 1
    0.41: Show current page with inline validations
    0.42:
    0.42: S H O W: application="120" page="18" workspace="" request="" session="1196910493324671"
    0.43: NLS: Language=en-us
    0.43: Application 120, Authentication: CUSTOM2, Page Template: 2370905300761909
    0.43: ...Session ID 1196910493324671 can be used
    0.43: ...Application session: 1196910493324671, user=JWYNACHT
    0.43: ...Determine if user "APEX_JON" workspace "995216593441806" can develop application "120" in workspace "995216593441806"
    0.44: ...Metadata: Fetch page attributes for application 120, page 18
    0.44: Branch point: BEFORE_HEADER
    0.44: Fetch application meta data
    0.46: Computation point: BEFORE_HEADER
    0.46: Processing point: BEFORE_HEADER
    0.47: ...Recompute field lables for fields in error.
    0.48: Show page template header
    0.53: Computation point: AFTER_HEADER
    0.53: Processing point: AFTER_HEADER
    0.53: ......Do not perform process because inline validation condition found.
    0.53: ...Do not run process "Fetch Row from TASK", process point=AFTER_HEADER, condition type=, when button pressed=
    JWYNACHTLogout
    1 error has occurred
    Week Group Seq must have some value.
    0.53: Computation point: BEFORE_BOX_BODY
    0.53: Processing point: BEFORE_BOX_BODY
    0.53: Region: Task
    Task          
    Cancel
    Create
    0.55: Item: P18_TASK_SEQ HIDDEN_PROTECTED
    0.57: Item: P18_WEEK_GROUP_SEQ TEXT
    Week Group Seq
    Week Group Seq must have some value.     
    0.57: Item: P18_DISCIPLINE_SEQ TEXT
    Discipline Seq     
    0.58: Item: P18_TASK_TITLE TEXT
    Title     
    0.58: Item: P18_TASK_PRIORITY TEXT
    Priority     
    0.58: Item: P18_PERCENTAGE_COMPLETE TEXT
    %Complete     
    0.59: Item: P18_TASK_RISK TEXTAREA
    Risk     
    0.59: Item: P18_TASK_IMPACT TEXTAREA
    Impact     
    0.59: Item: P18_TASK_MITIGATION TEXTAREA
    Mitigation     
    0.59: Item: P18_CREATED_ON TEXT
    Created On     
    0.60: Item: P18_CREATED_BY TEXT
    Created By     
    0.60: Item: P18_CREATED_FROM_TASK_SEQ TEXT
    Created From Task Seq     
    0.61: Item: P18_LAST_MODIFIED_ON TEXT
    Last Modified On     
    0.61: Item: P18_LAST_MODIFIED_BY TEXT
    Last Modified By     
    0.62: Item: P18_DELETE_FLAG TEXT
    Delete Flag     
    0.62: Computation point: AFTER_BOX_BODY
    0.62: Processing point: AFTER_BOX_BODY
    0.62: Computation point: BEFORE_FOOTER
    0.62: Processing point: BEFORE_FOOTER
    0.62: Show page tempate footer
    Home
    Application 120
    Edit Page 18
    Create
    Session
    Activity
    No Debug
    Show Edit Links
    0.63: Computation point: AFTER_FOOTER
    0.63: Processing point: AFTER_FOOTER
    0.63: Log Activity:
    0.63: Execute Count=0
    0.63: End Show:

  • I want to set a variable with default value and can be changed by the user

    hi,
    i want to set a variable with default value and can be changed by the user, so i new a variable with setting : customer exit, single value, optional, ready for input.
    in my customer exit code, i set a default value, eg. 20070530
    when the variable screen popup, it display the default value 20070530, i changed it to 20070529, but it doesn't work , it still display the data in 20070530, how can i solve this problem? 
    your help is appreciated.

    Liu,
       As mentioned by Anil, you need to restrict your customerr Exit code to I_STEP = 1.
    or.
       <u>Open your Variable in change mode, in the Last Page os the Variable Maintenance you can provide default value. Note: you are doing same thing in Customer Exit. In your case no need of Customer Exit.</u>
    Nagesh Ganisetti.
    Assign points if it helps.

  • Subclass Private Variables

    This is such a basic question I decided to post it here.
    Does a subclass get its superclass's private variables?

    So, a subclass cannot changeyes it can but not directly
    cannot accessyes it can but not directly

  • How to set a variable to a string with special characters?

    I want to set a variable to
    <cfset inputstring = "<img src="../../../server/win/form/stamp/string_1" />"/>
    but i keep getting error:
    Invalid CFML construct found on line 184 at column 32.
    ColdFusion was looking at the following text:
    I have try it different ways , what i'm i doing wrong?

    You have to either escape the inner quotes or mix single and double quotes.  Try:
    <cfset inputstring = "<img src=""../../../server/win/form/stamp/string_1"" />"/>
    or
    <cfset inputstring = '<img src="../../../server/win/form/stamp/string_1" />'/>
    Oh, and the trailing forward slashes aren't necessary in the <cfset> tag.
    -Carl V.

  • Setting Presentation Variable with Multiselect Prompt

    I want to know if there is a way to set presentation variables from a multiselect prompt. I want to store all the values that the user has selected from the prompt.
    Mrinalini.

    I have a report in which I use Oracle analytic functions. But I have to show only subset of all records because of analytic functions. In case of ListBox I use a presentation variable in a FILTER(expr1 USING expr2). How may I do this in case of multiselect prompt? It doesn't support presentation values.

Maybe you are looking for

  • Fire wire target disk mode work with usb also?

    hi all, does starting up in fire wire target disk mode also work with usb drives?

  • Need unique Variants in ALV interactive report

    Hello Experts,                       I have a ALV interactive report in which a layout variant  created in one layout is been reflecting in all other layouts, which i dont want. I want to create different variants for different layouts in interactive

  • Help for PLM certification

    Hi All, I am planning for following PLM certification. please provide the information about the certification as i am not able to find anything on internet. If someone have study material please send the link or mail me at [email protected] 1.PLM301

  • Terminal's line wrap turned off globally instead of per window?

    Hi, I've had a problem that's been bugging me since 10.6 came out. I have to log onto HP switches as part of my job, and their weird command line interface disables line wrap on the terminal window. Fair enough, they can do what they want, once I'm f

  • How can I connect JSP in IPlanet that access to EJB in Weblogic?

    Hi: I have a JSP in IPlanet that access to EJB in Weblogic. IPlanet and Weblogic are installed in different machines. I don't know what code source and deployment actions to do to connect jsp and ejb. Can anybody guide me? Thanks in advance, David B.