Menu

Tu Reh Naward-e-Shauq Hai, Manzil Na Kar Qabool

تو  رہ  نوارد-ا-شوق  ہے منزل  نہ کر قبول

لیلیٰ  بھی  ہم -نشین  ہو  تو  محمل  نہ  کر  قبول
Tu Reh Naward-e-Shauq Hai, Manzil Na Kar Qabool

Laila Bhi Hum-Nasheen Ho To Mehmil Na Kar Qabool
If you traverse the road of love, Donʹt yearn to seek repose or rest,

If Layla be your companion close that litter shun with great contempt.

اے جوے اب بڑھ کے ہو دریا-ا-تند-و-تیز

ساحل تجھے اتا ہو تو ساحل نہ کر قبول
Ae Jooye Aab Barh Ke Ho Darya-e-Tund-o-Taiz

Sahil Tujhe Atta Ho To Sahil Na Kar Qabool
O streamlet, onward flow and get transformed to torrent strong and deep,

If bank is eʹer on you bestowed, Abstain, flow on with mighty sweep.
کھویا  نہ  جا  صنم  کدہ-و-کائنات میں

محفل گداز گرمی-و-محفل نہ کر قابول
Khoya Na Ja Sanamkada-e-Kainat Mein
Mehfil Gudaz! Garmi-e-Mehfil Na Kar Qabool
Donʹt lose your bearings in this world because with idols it is full,

The assemblage here can cast a spell,disdain, or strings of heart shall pull.
صبح ازل یہ مجھ  سے کہا جبریل نے

جو عقل کا غلام ہو, وہ دل نہ کر قبول
Subah-e-Azal Ye Mujh Se Kaha Jibreel Ne

Jo Aqal Ka Ghulam Ho, Woh Dil Na Kar Qabool
Gabriel on Creationʹs Early Morn, a piece of useful counsel gave,

He bade me not accept a heart enchained by mind of man like slave.
باطل دوویی پسند ہے, حق لا-شریک ہے

شرکت میانہ حق-و-باطل نہ کر قبول

Batil Dooyi Pasand Hai, Haq La-Shareek Hai

Shirkat Mayana-e-Haq-o-Batil Na Kar Qabool
Untruth conceals in various masks but Truth and God are both unique,

There canʹt be pool ʹtwixt good and bad—This fact is known from times antique.

Error: Could not find or load main class

If you are getting the error Error: Could not find or load main class when you try to run any java program in using eclipse then you could perform any of the following resolutions to fix the issue. If a single resolution doesn't work for you then perform the next solution which is given below.

1. Go to your project path for e.g. C:\Users\java\rashid\jorvee > open .classpath file and verify all the entries given in this file are actually exist in your system. Below is the sample file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>

<classpath>

 <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>

 <classpathentry kind="src" path="src"/>

 <classpathentry exported="true" kind="lib" path="C:/Users/java/rashid/java-json.jar/java-json.jar"/>

 <classpathentry kind="output" path="bin"/>

</classpath>

2. Go to run > run configuration > classpath> Select Project > Advance > select option add folder and select the bin folder where your .class file get stored.

3. There might be a possibility that there is no classpath set for java class files. Please go ahead and set classpath manually by executing the below command on cmd.
javac -cp . PackageName/*.java

4. In some cases we have found that Java build path is not set up for the project, or somehow it gets removed from the directory then go ahead and set your project classpath here. Add your project in the source tab and JRE in libraries tab.
Project > Properties > Java Build Path

AEM Sling Models

What is the Sling Models?

While working with Sling in Adobe Experience Manager[AEM]; we need to map our objects (Java backend object) with  Apache Sling resource. Many Sling projects want to be able to create model objects - POJOs which are automatically mapped from Sling objects, typically resources, but also request objects. With the help of sling models, we can define a model object "a Java class or interface" and map that object with sling resources. Before sling models, we are achieving these all using WCMUse and WCMUsePojo which are quite similar to sling models.

To use the Sling Models in your project first you need to add the following dependency in your pom.xml file.
<dependency>
   <groupId>org.apache.sling</groupId>
   <artifactId>org.apache.sling.model.api</artifactId>
   <version>1.3.0</version>
   <scope>provided</scope>
<dependency>

@Model annotation 

To map a java class or interface with sling resource we use @Model annotation and could pass an adaptables parameter into it to make a class adaptable by sling model.

@Model(adaptables = Resource.class)
public class RashidJorvee {
 //Write your code here
}  
 or
@Model(adaptables = SlingHttpServletRequest.class)
public class RashidJorvee {
 //Write your code here
} 

@Inject annotation

Using @Inject we can make a filed and method injectable. We can also inject a constructor using @Inject annotation. We also use @Inject with @Filter option to pass the reference to an available OSGi service, which works similarly as @Refernce.
@Inject
private String firstName;
@Inject
String getName();
There are many other options we have which makes injection make accurate and exact. like following

@Named

To match the name of the property with field name

@Via

Change the adaptable object instead of using the original adaptable object

@Default 

To assign a defult value to any field or property.

@Filter

Filter an OSGi service

@Optional

Mark filed and method injection optional.

@Source

To manage the ambiguity between injector, it helps us to tie the injected field or method to a particular injector. 

@PostConstruct annotation

Using PostConstruct annotation we can invoke any method which we want to execute when all injection has been completed for that class. This is act as similar to the activate() method which we use for WCMUsePojo or WCMUse.

@PostConstruct
public void letMeExecuteFirst() {
 //Write your code here;
}